#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define INF 1000000000 #define EPS 1e-9 #define PI acos(-1) typedef long long ll; typedef pair P; #define MAX_N 1000000 #define MAX_K 1000000 string S; map cnt; int ans = 0; //DFSで解く //tmpは今作りかけの文字列、sは前から、eは後ろから取るときに //次はどこからとればいいかを保持する変数 void solve(string tmp, int s, int e){ if(tmp.length() == S.length()){ if(!cnt[tmp]){ ans++; cnt[tmp] = true; } return ; } else{ solve(tmp+S[s], s+1, e); solve(tmp+S[e], s, e-1); } return ; } int main(){ cin >> S; solve("",0,S.length()-1); cout << ans << endl; return 0; }