#include <iostream>
#include <cstring>
#include <algorithm>
// #include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e3 + 10, M = 2e2 + 10, mod = (int)(1e9) + 7;
//char a[N],b[M];
int f[2][M][M][2];
signed main()
{
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
// freopen("in.in", "r", stdin);freopen("out.out", "w", stdout);
int n, m, k;
cin >> n >> m >> k;
// scanf("%s%s", a, b);
string a, b;
cin >> a >> b;
a = "0" + a;
b = "0" + b;
// cout << a[2] << endl << b << endl;
int val = 1;
f[0][0][0][0] = f[1][0][0][0] = 1;
for (int i = 1;i <= n;i ++, val ^= 1) {
for (int j = 1;j <= m;j ++) {
for (int p = 1;p <= k;p ++) {
if (a[i] == b[j]) {
f[val][j][p][0] = (f[val ^ 1][j][p][0] + f[val ^ 1][j][p][1]) % mod;
f[val][j][p][1] = ((f[val ^ 1][j - 1][p - 1][0] + f[val ^ 1][j - 1][p - 1][1]) % mod + \
f[val ^ 1][j - 1][p][1]) % mod;
}else {
f[val][j][p][0] = (f[val ^ 1][j][p][0] + f[val ^ 1][j][p][1]) % mod;
f[val][j][p][1] = 0;
}
}
}
}
int res = (f[n & 1][m][k][0] + f[n & 1][m][k][1]) % mod;
cout << res << endl;
return 0;
}
//1000 200 157
//auuxuauzxuauuxuauzxuauuxuauzxuahueuauzcuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxucuzxgauuxuauzxuauuxaauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxucuuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuaukxuauzxuauuxcauaxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxwauuxuauzxuauuxuauzxuauuxuauzxuauuxaauzxuauuxuauzxuahuxuauzxuauuxuauzxuauuxwaxzxukuuiuaozxuauuxuauzxuauuxuauzxuauuxusuzxuauuxuauzxuauuxuauzxkaunxuauzxuauuxuauzxuauuxuauvxuauuxiauzxuauuxuauzxuauuxaauzxuauuxyauzxuauuxuauzxuauuxuauzxuauuxuauzxuaudxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxwauuxuvuzxuauuxuaulxuauuxuauzfuaucxuauzxuauuxusuzxdauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxbauuxuauzxuauuxuauzxuauuxianzxuauuxuauzxuauxxuauzxuauuxuauzxuauuxutuzxuaouxuauzxuauuxuauzxuabuuuauzxuauuxuauzxuauuxuauziuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuguzxuauuxuauzxu
//auuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxuauuxuauzxu
为什么我的代码过不去2、8、9、10这四个点 但是我如果把ios那个优化给注释掉就可以过了,有没有大佬懂的