#include <stdio.h>
#include <string.h>
char a[110000],b[110000];
int p[110000];
int main()
{
int i,j;
int y;
while(scanf("%s",b+1)!=EOF)
{
int len=strlen(b+1);
b[len+1]='X';
b[len+2]='\0';
y=strlen(b+1);
//printf("%d %d\n",len,y);
scanf("%s",a+1);
strcat(b+1,a+1);
y=strlen(b+1);
j=0;
p[1]=0;
for(i=2;i<=y;i++)
{
while(j>0&&b[i]!=b[j+1]) j=p[j];
if(b[i]==b[j+1])
j++;
p[i]=j;
}
if(p[y]!=0)
{
for(i=1;i<=p[y];i++)
printf("%c",b[i]);
printf(" ");
}
printf("%d\n",p[y]);
}
return 0;
}
#include <stdio.h>
#include <string.h>
char a[2000],b[2000];
int p[2000];
int main()
{
int i,j;
while(1)
{
scanf("%s",a+1);
if(a[1]=='#') break;
scanf("%s",b+1);
//puts(b+1);
int x=strlen(a+1);
int y=strlen(b+1);
int sum=0;
j=0;
p[1]=0;
for(i=2;i<=y;i++)
{
while(j>0&&b[i]!=b[j+1]) j=p[j];
if(b[i]==b[j+1])
j++;
p[i]=j;
}
j=0;
for(i=1;i<=x;i++)
{
while(j>0&&b[j+1]!=a[i]) j=p[j];
if(b[j+1]==a[i])
j++;
if(j==y)
{
sum++;
j=0;
}
}
printf("%d\n",sum);
}
return 0;
}