1116TLE了

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <string.h>
using namespace std;
char a[10005][55];
char b[1000005];
int i,ans,j,k,n,tmp;
bool flag;
int main()
{
    while(scanf("%d",&n)!=EOF)
    {
        for(i=0;i<n;i++)
        {
            scanf("%s",a[i]);
        }
        scanf("%s",b);
        ans=0;
        for(i=0;i<n;i++)
        {
            for(j=0;j<strlen(b);j++)
            {
                flag=0;
                tmp=0;
                for(k=0;k<strlen(a[i]);k++)
                {
                    if(b[j]==a[i][k])
                    {
                        if(k==strlen(a[i])-1)
                        {
                            ans++;
                            break;
                        }
                        if(flag=0)
                        {
                            flag=1;
                            tmp=j+1;
                        }
                        j++;
                    }
                    else
                    {
                        if(flag==1)
                        {
                            j=tmp;
                            break;
                        }
                        break;
                    }
                }
            }
        }
        cout<<ans<<endl;
    }
    return 0;
}