/*Một thời không quá xa, điện thoại di động với chỉ các tính năng nghe, gọi, nhắn tin vẫn còn chiếm đại đa số thiết bị cầm tay tại Việt Nam. Khi nhắn tin, người nhắn sẽ bấm các phím số một đến bốn lần liên tiếp tương ứng với ký tự đi kèm ghi trên đó.
Cụ thể: các số và chữ cái tương ứng gồm:
2: ABC, 3: DEF, 4: GHI, 5: JKL
6: MNO, 7: PQRS, 8: TUV, 9: WXYZ
Cho trước dãy ký tự mô tả tin nhắn (không tính các ký tự khác ngoài danh sách nêu trên). Hãy kiểm tra xem dãy số được nhấn ứng với dãy ký tự đó có phải số thuận nghịch hay không (chỉ xét tương ứng giữa số và ký tự, không tính số đó được nhấn bao nhiêu lần, ví dụ tất cả A,B,C,a,b,c đều chỉ là một chữ số 2).
Input
Dòng đầu tiên là số bộ test, không quá 1000.
Mỗi test là dãy ký tự mô tả tin nhắn.
Output
Ghi ra kết quả kiểm tra, YES nếu dãy số là thuận nghịch, NO nếu ngược lại*/
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define fi first
#define se second
const int mod = 1000000007 ;
string a[ 20 ] ;
void ktao( ) {
a[ 2 ] = "ABC" ;
a[ 3 ] = "DEF" ;
a[ 4 ] = "GHI" ;
a[ 5 ] = "JKL" ;
a[ 6 ] = "MNO" ;
a[ 7 ] = "PQRS" ;
a[ 8 ] = "TUV" ;
a[ 9 ] = "WXYZ" ;
}
void ChuanHoa( string & s) {
for ( int i = 0 ; i < s.size ( ) ; i++ ) {
s[ i] = ( char ) toupper ( s[ i] ) ;
}
}
bool check( string s) {
int l = 0 , r = s.size ( ) - 1 ;
while ( l <= r) {
if ( s[ l] ! = s[ r] ) return false ;
++ l; -- r;
}
return true ;
}
int main( ) {
ios:: sync_with_stdio ( false ) ;
cin .tie ( nullptr) ;
ktao( ) ;
int t; cin >> t;
while ( t-- ) {
string s; cin >> s;
ChuanHoa( s) ;
string res = "" ;
for ( int i = 0 ; i < s.size ( ) ; i++ ) {
for ( int j = 2 ; j <= 9 ; j++ ) {
int kt = 0 ;
for ( char x : a[ j] ) {
if ( s[ i] == x) {
kt = 1 ;
break ;
}
}
if ( kt == 1 ) {
res + = to_string( j) ;
break ;
}
}
}
if ( check( res) ) cout << "YES\n " ;
else cout << "NO\n " ;
}
return 0 ;
}
LypN4buZdCB0aOG7nWkga2jDtG5nIHF1w6EgeGEsIMSRaeG7h24gdGhv4bqhaSBkaSDEkeG7mW5nIHbhu5tpIGNo4buJIGPDoWMgdMOtbmggbsSDbmcgbmdoZSwgZ+G7jWksIG5o4bqvbiB0aW4gduG6q24gY8OybiBjaGnhur9tIMSR4bqhaSDEkWEgc+G7kSB0aGnhur90IGLhu4sgY+G6p20gdGF5IHThuqFpIFZp4buHdCBOYW0uIEtoaSBuaOG6r24gdGluLCBuZ8aw4budaSBuaOG6r24gc+G6vSBi4bqlbSBjw6FjIHBow61tIHPhu5EgbeG7mXQgxJHhur9uIGLhu5FuIGzhuqduIGxpw6puIHRp4bq/cCB0xrDGoW5nIOG7qW5nIHbhu5tpIGvDvSB04buxIMSRaSBrw6htIGdoaSB0csOqbiDEkcOzLgoKQ+G7pSB0aOG7gzogY8OhYyBz4buRIHbDoCBjaOG7ryBjw6FpIHTGsMahbmcg4bupbmcgZ+G7k206CgoyOiBBQkMsIDM6IERFRiwgNDogR0hJLCA1OiBKS0wKCjY6IE1OTywgNzogUFFSUywgODogVFVWLCA5OiBXWFlaCgpDaG8gdHLGsOG7m2MgZMOjeSBrw70gdOG7sSBtw7QgdOG6oyB0aW4gbmjhuq9uIChraMO0bmcgdMOtbmggY8OhYyBrw70gdOG7sSBraMOhYyBuZ2/DoGkgZGFuaCBzw6FjaCBuw6p1IHRyw6puKS4gSMOjeSBraeG7g20gdHJhIHhlbSBkw6N5IHPhu5EgxJHGsOG7o2MgbmjhuqVuIOG7qW5nIHbhu5tpIGTDo3kga8O9IHThu7EgxJHDsyBjw7MgcGjhuqNpIHPhu5EgdGh14bqtbiBuZ2jhu4tjaCBoYXkga2jDtG5nIChjaOG7iSB4w6l0IHTGsMahbmcg4bupbmcgZ2nhu69hIHPhu5EgdsOgIGvDvSB04buxLCBraMO0bmcgdMOtbmggc+G7kSDEkcOzIMSRxrDhu6NjIG5o4bqlbiBiYW8gbmhpw6p1IGzhuqduLCB2w60gZOG7pSB04bqldCBj4bqjIEEsQixDLGEsYixjIMSR4buBdSBjaOG7iSBsw6AgbeG7mXQgY2jhu68gc+G7kSAyKS4KCklucHV0CgpEw7JuZyDEkeG6p3UgdGnDqm4gbMOgIHPhu5EgYuG7mSB0ZXN0LCBraMO0bmcgcXXDoSAxMDAwLgoKTeG7l2kgdGVzdCBsw6AgZMOjeSBrw70gdOG7sSBtw7QgdOG6oyB0aW4gbmjhuq9uLgoKT3V0cHV0CgpHaGkgcmEga+G6v3QgcXXhuqMga2nhu4NtIHRyYSwgWUVTIG7hur91IGTDo3kgc+G7kSBsw6AgdGh14bqtbiBuZ2jhu4tjaCwgTk8gbuG6v3UgbmfGsOG7o2MgbOG6oWkqLwoKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIHVsbCB1bnNpZ25lZCBsb25nIGxvbmcKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZApjb25zdCBpbnQgbW9kID0gMTAwMDAwMDAwNzsKCnN0cmluZyBhWzIwXTsKCnZvaWQga3RhbygpewogICAgYVsyXSA9ICJBQkMiOwogICAgYVszXSA9ICJERUYiOwogICAgYVs0XSA9ICJHSEkiOwogICAgYVs1XSA9ICJKS0wiOwogICAgYVs2XSA9ICJNTk8iOwogICAgYVs3XSA9ICJQUVJTIjsKICAgIGFbOF0gPSAiVFVWIjsKICAgIGFbOV0gPSAiV1hZWiI7Cn0KCnZvaWQgQ2h1YW5Ib2Eoc3RyaW5nICZzKXsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBzLnNpemUoKTsgaSsrKXsKICAgICAgICBzW2ldID0gKGNoYXIpdG91cHBlcihzW2ldKTsKICAgIH0KfQoKYm9vbCBjaGVjayhzdHJpbmcgcyl7CiAgICBpbnQgbCA9IDAsIHIgPSBzLnNpemUoKSAtIDE7CiAgICB3aGlsZShsIDw9IHIpewogICAgICAgIGlmKHNbbF0gIT0gc1tyXSkgcmV0dXJuIGZhbHNlOwogICAgICAgICsrbDsgLS1yOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0KCmludCBtYWluKCl7Cglpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CgljaW4udGllKG51bGxwdHIpOwoKICAgIGt0YW8oKTsKICAgIGludCB0OyBjaW4gPj4gdDsKICAgIHdoaWxlKHQtLSl7CiAgICAgICAgc3RyaW5nIHM7IGNpbiA+PiBzOwogICAgICAgIENodWFuSG9hKHMpOwogICAgICAgIHN0cmluZyByZXMgPSAiIjsKICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgcy5zaXplKCk7IGkrKyl7CiAgICAgICAgICAgIGZvcihpbnQgaiA9IDI7IGogPD0gOTsgaisrKXsKICAgICAgICAgICAgICAgIGludCBrdCA9IDA7CiAgICAgICAgICAgICAgICBmb3IoY2hhciB4IDogYVtqXSl7CiAgICAgICAgICAgICAgICAgICAgaWYoc1tpXSA9PSB4KXsKICAgICAgICAgICAgICAgICAgICAgICAga3QgPSAxOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZihrdCA9PSAxKXsKICAgICAgICAgICAgICAgICAgICByZXMgKz0gdG9fc3RyaW5nKGopOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKGNoZWNrKHJlcykpIGNvdXQgPDwgIllFU1xuIjsKICAgICAgICBlbHNlIGNvdXQgPDwgIk5PXG4iOwogICAgfQoJcmV0dXJuIDA7Cn0=