void get_next(string s, vector<int>&next)
{
int len = s.size();
next.resize(len);
int i, j;
i = 0;
j = -1;
next[0]=-1;
while (i < len-1)
{
if (j == -1||s[j]==s[i])
{
i++;
j++;
next[i]=j;
}
else
{
j = next[j];
}
}
}
{
int len = s.size();
next.resize(len);
int i, j;
i = 0;
j = -1;
next[0]=-1;
while (i < len-1)
{
if (j == -1||s[j]==s[i])
{
i++;
j++;
next[i]=j;
}
else
{
j = next[j];
}
}
}