using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; class TEST{ static void Main(){ Sol mySol =new Sol(); mySol.Solve(); } } class Sol{ public void Solve(){ int N = S.Length; int[] D1 = new int[N]; for(int i=0;i=N)break; if(S[i-r] != S[i+r])break; r++; } D1[i] = r; } int[] D0 = new int[N]; for(int i=0;i=N)break; if(S[i-r] != S[i+r+1])break; r++; } D0[i] = r; } //Console.WriteLine("D1 "+ String.Join(" ",D1)); //Console.WriteLine("D0 "+ String.Join(" ",D0)); int[] PL = new int[N]; int[] PR = new int[N]; for(int i=0;i=0;i--){ if(PR[i] == 0) continue; if(i-2 < 0) break; ans += PPA[i-2]; } Console.WriteLine(ans); } String S; public Sol(){ S = rs(); } static String rs(){return Console.ReadLine();} static int ri(){return int.Parse(Console.ReadLine());} static long rl(){return long.Parse(Console.ReadLine());} static double rd(){return double.Parse(Console.ReadLine());} static String[] rsa(char sep=' '){return Console.ReadLine().Split(sep);} static int[] ria(char sep=' '){return Array.ConvertAll(Console.ReadLine().Split(sep),e=>int.Parse(e));} static long[] rla(char sep=' '){return Array.ConvertAll(Console.ReadLine().Split(sep),e=>long.Parse(e));} static double[] rda(char sep=' '){return Array.ConvertAll(Console.ReadLine().Split(sep),e=>double.Parse(e));} }