#include #include #include #include #include #include using namespace std; int data[100][100]; int h, w; int solve( int *flag ) { int f = 0; for( int i = 0; i < 26; i ++ ){ if( flag[i] ) continue; int x1 = -1, y1 = -1, x2 = -1, y2 = -1; for( int x = 0; x < w; x ++ ){ for( int y = 0; y < h; y ++ ){ if( data[x][y] == i ){ if( x1 < 0 || x < x1 ) x1 = x; if( x2 < 0 || x > x2 ) x2 = x; if( y1 < 0 || y < y1 ) y1 = y; if( y2 < 0 || y > y2 ) y2 = y; } } } if( x1 == -1 ) continue; f ++; flag[i] = 1; // printf( "%c\n", i + 'A'); for( int x = x1; x <= x2; x ++ ){ for( int y = y1; y <= y2; y ++ ){ if( data[x][y] < 0 || flag[data[x][y]] == 0 ) goto end; } } if( solve( flag ) ){ flag[i] = 0; return 1; } end:; flag[i] = 0; } if( f > 0 ) return 0; return 1; } int main(void) { int c; scanf( "%d", &c ); for (int i = 0; i < c; i++){ scanf( "%d", &h); scanf( "%d", &w ); //printf( "%d,%d\n", h,w); memset( data, 0xff, sizeof(data) ); for (int j = 0; j < h; j++){ scanf("%*[ \n\r]"); for (int k = 0; k < w; k++){ char s[1024]; char c; scanf( "%c", &c ); data[k][j] = c - 'A'; // printf( "%c", c ); } // printf("\n"); } int flag[26]; memset( flag, 0x00, sizeof(flag) ); if( solve( flag ) ) cout << "SAFE" << endl; else cout << "SUSPICIOUS" <