/* * Code by Spiromanul */ # include "iostream" # include "cstring" # include "vector" # include "queue" # include "bitset" # include "algorithm" # include "deque" const char IN [ ] = "input" ; const char OUT [ ] = "output" ; const int MAX = 114 ; const int LENGTH = 5014 ; const int SIGMA = 27 ; const int MOD = 666013 ; # define pb push_back # define mp make_pair # define FORN( a , b , c ) for ( int a = b ; a <= c ; ++ a ) # define FORNBACK( a , b , c ) for ( int a = b ; a >= c ; -- a ) using namespace std; long long int R(){ char r; bool start=false,neg=false; long long int ret=0; while(true){ r=getchar(); if((r-'0'<0 || r-'0'>9) && r!='-' && !start){ continue; } if((r-'0'<0 || r-'0'>9) && r!='-' && start){ break; } if(start)ret*=10; start=true; if(r=='-')neg=true; else ret+=r-'0'; } if(!neg) return ret; else return -ret; } string can ( char *sir , int l ) { int x = sir [ 1 ] - '0' ; x *= 1000 ; x += ( sir [ 2 ] - '0' ) * 100 ; if ( ( sir [ 1 ] - '0' ) * 10 + ( sir [ 2 ] - '0' ) > 24 ) return "NO\n" ; if ( ( sir [ 4 ] - '0' ) * 10 + ( sir [ 5 ] - '0' ) * 1 >= 60 ) return "NO\n" ; x += ( sir [ 4 ] - '0' ) * 10 ; x += ( sir [ 5 ] - '0' ) * 1 ; if ( sir [ 4 ] == sir [ 5 ] and sir [ 5 ] == '0' ) return "YES\n" ; if ( sir [ 1 ] == sir [ 4 ] and sir [ 2 ] == sir [ 5 ] ) return "YES\n" ; if ( sir [ 1 ] == sir [ 5 ] and sir [ 2 ] == sir [ 4 ] ) return "YES\n" ; if ( sir [ 1 ] + 1 == sir [ 2 ] and sir [ 2 ] + 1 == sir [ 4 ] and sir [ 4 ] + 1 == sir [ 5 ] ) return "YES\n" ; for ( int i = 1024 ; i < 9999 ; i <<= 1 ) if ( x == i ) return "YES\n" ; return "NO\n" ; } int main ( void ) { int t ; cin >> t ; FORN ( k ,1 , t ) { char sir [ 20 ] ; cin >> ( sir + 1 ) ; int l = strlen ( sir + 1 ) ; cout << can ( sir , l ) ; } return 0; }