#include #include #include #include #include #include #include #include #include #include #include const int MOD = 1e9 + 7; const int iINF = 1000000000; const long long int llINF = 1000000000000000000; #define rep(i,n) for(int i=0;i<(n);i++) using namespace std; using ll = long long int; using P = pair; using edge = struct{int to; int cost;}; int dfs(int i) { } int main() { string S; cin >> S; set st; for(int i =0; i < (1 << (S.size() - 1)); i++) { string ans; int s = 0; int t = S.size() - 1; for(int j = 0; j < S.size() - 1; j++) { if((i >> j) % 2) ans += S[s++]; else ans += S[t--]; } ans += S[s]; st.insert(ans); } cout << st.size() << endl; return 0; }