/*I MAY NOT GET THE SUCCESS IMMEDIATELY BUT I WILL GET IT FOR SURE*/ #include<bits/stdc++.h> #define opt std::ios_base::sync_with_stdio(false) #define I int #define li int32_t #define lli long long #define ulli unsigned long long #define pn printf("\n") #define nl cout<<'\n' #define sf(N) scanf("%lld",&N) #define pf(N) printf("%lld",N) #define sf1(N1,N2) scanf("%lld %lld",&N1,&N2) #define pf1(N1,N2) printf("%lld %lld",N1,N2) #define sf2(N1,N2,N3) scanf("%lld %lld %lld",&N1,&N2,&N3) #define pf2(N1,N2,N3) printf("%lld %lld %lld",N1,N2,N3) #define sl cout<<' ' #define ps printf(" ") #define rep(i,a,b) for(i=a;i<b;i++) #define repr(i,a,b) for(i=a;i>b;i--) #define elif else if #define mset(a,b) memset(a,b,sizeof(a)) #define pb push_back #define pob pop_back #define itr iterator #define sz() size() #define szof sizeof #define lb lower_bound #define ub upper_bound #define mp make_pair #define vlli vector<lli> #define plli pair<lli,lli> #define vplli vector<plli > #define F first #define S second #define Dup erase(unique(V.begin(),V.end()),V.end()) #define bs binary_search #define ub upper_bound #define lb lower_bound #define ALL(V) V.begin(),V.end() #define MX1 100000 #define MX2 1000000 #define Inf 1000000000000000 #define mod1 1000000007 #define mod2 1000000009 #define mod 1000000007 using namespace std; string s,s1; lli H1[2*MX1+1]; lli H2[2*MX1+1]; lli H3[2*MX1+1]; lli H4[2*MX1+1]; lli P1[2*MX1+1]; lli P2[2*MX1+1]; void Precompute(lli N) { lli i,A=33,B=163; P1[0]=1; P2[0]=1; rep(i,1,2*MX1+1) { P1[i]=(P1[i-1]*A)%mod1; P2[i]=(P2[i-1]*B)%mod2; } rep(i,1,N+1) { H1[i]=(A*H1[i-1]+s[i-1]-'a'+1)%mod1; H2[i]=(B*H2[i-1]+s[i-1]-'a'+1)%mod2; H3[i]=(A*H3[i-1]+s1[i-1]-'a'+1)%mod1; H4[i]=(B*H4[i-1]+s1[i-1]-'a'+1)%mod2; } } lli get_Hash1(lli L,lli R) { return (H1[R]-(H1[L-1]*P1[R-L+1])%mod1+mod1)%mod1; } lli get_Hash2(lli L,lli R) { return (H2[R]-(H2[L-1]*P2[R-L+1])%mod2+mod2)%mod2; } lli get_Hash3(lli L,lli R) { return (H3[R]-(H3[L-1]*P1[R-L+1])%mod1+mod1)%mod1; } lli get_Hash4(lli L,lli R) { return (H4[R]-(H4[L-1]*P2[R-L+1])%mod2+mod2)%mod2; } lli Power(lli a,lli b) { lli result=1; while(b) { if(b%2) { result=(result*a)%mod; } b=b>>1; a=(a*a)%mod; } return result; } int main() { opt; /*#ifndef ONLINE_JUDGE freopen("double_squares.txt","r",stdin); freopen("double_squares_out.txt","w",stdout); #endif // ONLINE_JUDGE*/ lli T; cin>>T; while(T--) { cin>>s; s1=s; reverse(s1.begin(),s1.end()); lli N=s.length(),i; Precompute(N); I flag=0; rep(i,1,N) { if(get_Hash1(1,i)==get_Hash3(N-i+1,N) and get_Hash2(i+1,N)==get_Hash4(1,N-i)) { flag=1; break; } } if(flag) { cout<<"alindrome"; nl; continue; } if(s==s1) { cout<<"palindrome"; nl; continue; } cout<<"simple"; nl; } return 0; }
Standard input is empty
palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome palindrome