#include #include #include #include #include using namespace std; int tc, counter; string in; vector< vector > tbl; void func(vector &a, vector &b) { vector k; // normal for(int i = 0 ; i < a.size() ; i++) k.push_back(a[i]); for(int i = 0 ; i < b.size() ; i++) k.push_back(b[i]); if(find(tbl.begin(), tbl.end(), k) == tbl.end()) { counter++; tbl.push_back(k); } // a reverse k.clear(); reverse(a.begin(), a.end()); for(int i = 0 ; i < a.size() ; i++) k.push_back(a[i]); for(int i = 0 ; i < b.size() ; i++) k.push_back(b[i]); if(find(tbl.begin(), tbl.end(), k) == tbl.end()) { counter++; tbl.push_back(k); } // ab reverse k.clear(); reverse(b.begin(), b.end()); for(int i = 0 ; i < a.size() ; i++) k.push_back(a[i]); for(int i = 0 ; i < b.size() ; i++) k.push_back(b[i]); if(find(tbl.begin(), tbl.end(), k) == tbl.end()) { counter++; tbl.push_back(k); } // b reverse k.clear(); reverse(a.begin(), a.end()); for(int i = 0 ; i < a.size() ; i++) k.push_back(a[i]); for(int i = 0 ; i < b.size() ; i++) k.push_back(b[i]); if(find(tbl.begin(), tbl.end(), k) == tbl.end()) { counter++; tbl.push_back(k); } } void solve() { counter = 0; tbl.clear(); for(int k = 1 ; k < in.size() ; k++) { vector a, b; for(int i = 0 ; i < k ; i++) a.push_back(in[i]); for(int i = k ; i < in.size() ; i++) b.push_back(in[i]); func(a, b); func(b, a); } cout << counter << endl; } int main() { cin >> tc; while(tc--) { cin >> in; if(in.size() == 1) { cout << 1 << endl; } else { solve(); } } }