#include #include #include #include #include #include #include #include #include #include #include #include #define pb push_back #define mp make_pair #define f first #define s second #define ll long long using namespace std; int get_nr(string S) { int nr = 0; for (int i = 0; i < S.size(); ++i) { if (S[i] == '0') { return -1; } nr = nr * 10 + S[i] - '0'; } return nr; } string solve(string S) { string left = S.substr(0,2); string right = S.substr(3,2); if (left >= "24" || right >= "60") { return "NO"; } if (right == "00") { return "YES"; } if (left == right) { return "YES"; } string rleft = left; reverse(rleft.begin(), rleft.end()); if (rleft == right) { return "YES"; } int prev = S[0] - '0'; int valid = 1; for (int i = 1; i < S.size(); ++i) { if (i == 2) { continue; } int cur = S[i] - '0'; if (prev != cur - 1) { valid = 0; } prev = cur; } if (valid == 1) { return "YES"; } int nr = get_nr(left + right); for (int i = 0; i < 20; ++i) { if ( (1 << i) == nr ) { return "YES"; } } return "NO"; } int main() { #ifndef ONLINE_JUDGE ifstream cin("test.in"); ofstream cout("test.out"); #endif int N; cin >> N; for (int t = 0; t < N; ++t) { string S; cin >> S; cout << solve(S); cout << "\n"; } return 0; }