#include using namespace std; using ll=long long; const int N=5005; string s; int n; bool fl[N][N]; int f1[N],f2[N]; ll ans; int main(){ cin>>s; n=s.size(); s="0"+s; for(int i=1;i<=n+1;++i)fl[i][i-1]=1; for(int i=1;i<=n;++i){ fl[i][i]=1; } for(int len=2;len<=n;++len){ for(int l=1;l+len-1<=n;++l){ int r=l+len-1; if(s[l]!=s[r])continue; fl[l][r]=fl[l+1][r-1]; } } for(int i=1;i<=n;++i){ if(!fl[1][i])continue; for(int j=1;i+j<=n;++j){ if(fl[i+1][i+j]){ f1[i+j]++; } } } for(int i=n;i;--i){ f2[i]=f2[i+1]; if(fl[i][n])++f2[i]; } for(int i=1;i<=n;++i){ ans+=1ll*f1[i]*f2[i+2]; } cout<