#include #include #include using namespace std; int main() { string s; cin >> s; set result; int pattern = 1 << (s.size() - 1); for (int bits = 0x0; bits < pattern; ++bits) { int front = 0; int back = s.size() - 1; string constructing; for (int i = 0; i < s.size() - 1; ++i) { if (bits & (1 << i)) { constructing.push_back(s[front++]); } else { constructing.push_back(s[back--]); } } constructing.push_back(s[front]); result.insert(constructing); } cout << result.size() << endl; return 0; }