/* -*- coding: utf-8 -*- * * 52.cc: No.52 よくある文字列の問題 - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ /* typedef */ /* global variables */ /* subroutines */ /* main */ int main() { string s; cin >> s; int n = s.size(); int nbits = 1 << n; set sset; for (int bits = 0; bits < nbits; bits++) { string t; int i0 = 0, i1 = n - 1; for (int i = 0; i < n; i++) { if ((bits >> i) & 1) t += s[i1--]; else t += s[i0++]; } sset.insert(t); } printf("%lu\n", sset.size()); return 0; }