#include<cstdio>
#include<cstring>
const int mod=1000000007;
int dp[2][210][210][2];
char a[1010],b[210];
int main()
{
int i,j,k,m,n,l,p,q,x,y,z;
scanf("%d%d%d",&n,&m,&l);
scanf("%s",a+1);
scanf("%s",b+1);
dp[0][0][0][0]=dp[1][0][0][0]=1;
for (i=1;i<=n;i++)
{
for (j=1;j<=m;j++)
for (k=1;k<=l;k++)
{
dp[i&1][j][k][0]=dp[i&1^1][j][k][0];
if (a[i]==b[j])
{
dp[i&1][j][k][1]=(dp[i&1^1][j-1][k][1]+dp[i&1^1][j-1][k-1][0])%mod;
dp[i&1][j][k][0]=(dp[i&1][j][k][0]+dp[i&1][j][k][1])%mod;
}
}
for (j=1;j<=m;j++)
for (k=1;k<=l;k++)
dp[i&1^1][j][k][0]=dp[i&1^1][j][k][1]=0;
}
printf("%d\n",dp[n&1][m][l][0]);
}