#include<bits/stdc++.h>
using namespace std;
char a[1005],b[205];
int n,m,s;
int f[2][205][205][2];
const int mod=1e9+7;
int main(){
cin>>n>>m>>s;
cin>>a+1>>b+1;
for(int i=0;i<=n;i++)f[i&1][0][0][0]=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
for(int k=0;k<=s;k++){
f[i&1][j][k][0]=f[i&1][j][k][1]=0;
f[i&1][j][k][0]=(f[(i-1)&1][j][k][0]+f[(i-1)&1][j][k][1])%mod;
if(a[i]==b[j]){
f[i&1][j][k][1]=(f[i&1][j][k][1]+f[(i-1)&1][j-1][k][1]) % mod;
if(k>=1)f[i&1][j][k][1]=(f[i&1][j][k][1]+f[(i-1)&1][j-1][k-1][0]+f[(i-1)&1][j-1][k-1][1])%mod;
}
else f[i&1][j][k][1]=0;
}
}
}
cout<<(f[n&1][m][s][0]+f[n&1][m][s][1])%mod;
}