#include <cstdio>
#include <string.h>
#include <memory.h>

char a[101], b[101], d[101], dap[101], you[101];
int c, res1, res2, DP[101][101], DT[101][101], l1, l2, l3, l4;
int max(int a, int b){ return a>b? a:b; }
int f1(int x, int y)
{
    if(x==l1||y==l2) return 0;
    else if( DP[x][y] == -1 )
    {
        if( a[x] == you[y] ) DP[x][y] = f1(x+1,y+1)+1;
        else DP[x][y] = max( f1(x+1,y), f1(x,y+1) );
    }
    return DP[x][y];
}
int f2(int x, int y)
{
    if(x==l3||y==l2) return 0;
    else if( DT[x][y] == -1 )
    {
        if( b[x] == you[y] ) DT[x][y] = f2(x+1,y+1)+1;
        else DT[x][y] = max( f2(x+1,y), f2(x,y+1) );
    }
    return DT[x][y];
}
int main(int argc, char *argv[])
{
    FILE *inn = fopen(argv[1],"r");  // in
    FILE *inn2 = fopen(argv[2],"r");  // out
    FILE *in  = fopen(argv[3],"r");   // result
   // FILE *out = fopen("./bbs/prob/902/test.txt","w");
   // if( inn2 == NULL ) fprintf(out,"input2.txt is missing");
    fscanf(inn,"%s%s%d%s", a, b, &c, d);
    fscanf(inn2, "%s", dap);
    fscanf(in,"%s", you);
    //fprintf(out,"%s\n%s\n%d\n%s\n%s\n%s\n", a, b, c, d, dap, you);
    //fclose(out);
    memset(DT,-1,sizeof(DT));
    memset(DP,-1,sizeof(DP));
    if( '0' <= dap[0] && dap[0] <= '9' )
    {
        if( strcmp(dap, you) == 0 ) puts("1");
        else puts("0");
        return 0;
    }
    l1 = strlen(a);
    l2 = strlen(you);
    l3 = strlen(b);
	l4 = strlen(dap);
    //fprintf(out,"%d %d %d\n", l2, f1(0,0), f2(0,0));
    if( (l2 == l4) &&  (f1(0,0) == l2 && f2(0,0) == l2) )
    {
        if( strstr(you, d) == NULL ) puts("1");
        else puts("0");
    }
    else puts("0");
}
