#include<bits/stdc++.h>
using namespace std;
int n,nex[1000005],t,t2;
char s[1000005];
int main()
{
cin>>t;
while(t--)
{
t2++;
cin>>n;
cin>>s+1;
int j=0;
cout<<"Test case #"<<t2<<endl;
for(int i=2;i<=n;i++)
{
if(j&&s[i]!=s[j+1]) j=nex[j];
if(s[i]==s[j+1]) j++;
nex[i]=j;
}
for(int i=2;i<=n;i++)
{
if(i%(i-nex[i])==0&&nex[i])
{
cout<<i<<' '<<i/(i-nex[i])<<endl;
}
}
cout<<endl;
}
return 0;
}
求助