#include<vector> #include<string> #include<string.h> #include<algorithm> #include<cstdio> #include<fstream> #include<iostream> #include<ctime> #include<set> #include<map> #include<cmath> using namespace std; #define LL long long #define PII pair<int ,int> #define PCI pair<char ,int> #define VB vector <bool> #define VI vector <int> #define VC vector <char> #define WI vector<VI> #define WC vector<VC> #define RS resize #define X first #define Y second #define FORN(i,n) for(int i=0;i<n;++i) #define FOR(i,a,b) for(int i=a;i<=b;++i) #define FORD(i,a,b) for(int i=a;i>=b;--i) #define REPEAT do #define UNTIL(x) while((x)) #define IN_FILE "date.in" #define OUT_FILE "date.out" #define out g #define in f ifstream f(IN_FILE); ofstream g(OUT_FILE); //variables int n; vector<string> x; //other functions int ConvertCharToInt(char c) { return c - 48; } bool IsTimeValid(string s) { if (ConvertCharToInt(s[0]) < 3) { if ((ConvertCharToInt(s[0]) == 2 && ConvertCharToInt(s[1]) < 5) || ConvertCharToInt(s[0]) < 2) { if (ConvertCharToInt(s[3]) < 6 || (ConvertCharToInt(s[0]) == 6 && ConvertCharToInt(s[0]) == 0)) { return true; } } } return false; } void reading() { in >> n; x.RS(n); FORN(i, n) { in >> x[i]; } } void solving() { FORN(i, n) { string item = x[i]; if (IsTimeValid(item)) { if (item[3] == '0' && item[4] == '0') { out << "YES"; } else if (item[3] == item[0] && item[4] == item[1]) { out << "YES"; } else if (item[4] == item[0] && item[3] == item[1]) { out << "YES"; } else if (ConvertCharToInt(item[0]) == ConvertCharToInt(item[1]) - 1 && ConvertCharToInt(item[1]) == ConvertCharToInt(item[3]) - 1 && ConvertCharToInt(item[3]) == ConvertCharToInt(item[4]-1)) { out << "YES"; } else if (item[0] == '2' && item[1] == '0' && item[3] == '4' && item[4] == '8') { out << "YES"; } else if (item[0] == '1' && item[1] == '0' && item[3] == '2' && item[4] == '4') { out << "YES"; } else { out << "NO"; } } else { out << "NO"; } out << "\n"; } } void write_data() { } int main() { reading(); solving(); write_data(); }