KMP...
#include<iostream>
#include<string>
#include<cstdlib>
#include<cstdio>
using namespace std;
char s[1111],t[1111];
int next[1111];
int lenS,lenT;
void setNext()
{
int j=1,k=0;
while( j<=lenT )
{
if( k==0||t[j]==t[k] )
next[++j]=++k;
else
k=next[k];
}
}
int getIndex( int start )
{
int i=start,j=1;
while( i<=lenS&&j<=lenT )
{
if( j==0 || s[i]==t[j] )
i++,j++;
else
j=next[j];
}
if( j>lenT ) return i-lenT;
else return 0;
}
int main()
{
while( scanf("%s",&s) )
{
if( strlen(s)==1 && s[0]=='#' )
break;
scanf( "%s",&t );
lenS=strlen(s);
lenT=strlen(t);
for( int i=lenS;i>=1;i-- )
s[i]=s[i-1];
for( int i=lenT;i>=1;i-- )
t[i]=t[i-1];
setNext();
int start=1;int cnt=0;
while( start<lenS )
{
int pos=getIndex(start);
if( pos ) cnt++;
else break;
start=pos+lenT;
}
printf( "%d\n",cnt );
}
return 0;
}