#include<bits/stdc++.h>
using namespace std;
int isPossible(string s1, string s2,int k)
{
int cnt=0;
for(int i=0;i<s2.size();i++)
{
int j=i;
while(s1[j]!=s2[i]) j+=1;
while(i<j)
{
swap(s1[j],s1[j-1]);
cnt+=1;
j-=1;
}
}
return cnt;
}
bool isSubsequence(string x,string y)
{
int j=0;
for (int i=0;i<x.size() and j<y.size();i++)
{
if (y[j]==x[i]) j+=1;
}
return(j==y.size());
}
int main()
{
int n,m,k;
cin>>n>>m>>k;
assert(n>=1 and n<=10 and m>=1 and m<=10 and k>=0 and k<=1000);
string S,T,copy_S;
cin>>S>>T;
assert(S.size()==n and T.size()==m);
copy_S=S;
sort(S.begin(),S.end());
int ans=0;
do
{
if(isSubsequence(S,T))
{
int x=isPossible(S,copy_S,k);
if(x<=k) ans++;
}
}while(next_permutation(S.begin(),S.end()));
cout<<ans<<'\n';
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGlzUG9zc2libGUoc3RyaW5nIHMxLCBzdHJpbmcgczIsaW50IGspCnsKICAgIGludCBjbnQ9MDsKICAgIGZvcihpbnQgaT0wO2k8czIuc2l6ZSgpO2krKykKICAgIHsKICAgICAgICBpbnQgaj1pOwogICAgICAgIHdoaWxlKHMxW2pdIT1zMltpXSkgais9MTsKICAgICAgICB3aGlsZShpPGopCiAgICAgICAgewogICAgICAgICAgICBzd2FwKHMxW2pdLHMxW2otMV0pOwogICAgICAgICAgICBjbnQrPTE7CiAgICAgICAgICAgIGotPTE7CiAgICAgICAgfQoKICAgIH0KICAgIHJldHVybiBjbnQ7Cn0KYm9vbCBpc1N1YnNlcXVlbmNlKHN0cmluZyB4LHN0cmluZyB5KQp7CiAgICBpbnQgaj0wOwogICAgZm9yIChpbnQgaT0wO2k8eC5zaXplKCkgYW5kIGo8eS5zaXplKCk7aSsrKQogICAgewogICAgICAgIGlmICh5W2pdPT14W2ldKSBqKz0xOwogICAgfQogICAgcmV0dXJuKGo9PXkuc2l6ZSgpKTsKfQppbnQgbWFpbigpCnsKICAgIGludCBuLG0sazsKICAgIGNpbj4+bj4+bT4+azsKICAgIGFzc2VydChuPj0xIGFuZCBuPD0xMCBhbmQgbT49MSBhbmQgbTw9MTAgYW5kIGs+PTAgYW5kIGs8PTEwMDApOwogICAgc3RyaW5nIFMsVCxjb3B5X1M7CiAgICBjaW4+PlM+PlQ7CiAgICBhc3NlcnQoUy5zaXplKCk9PW4gYW5kIFQuc2l6ZSgpPT1tKTsKICAgIGNvcHlfUz1TOwogICAgc29ydChTLmJlZ2luKCksUy5lbmQoKSk7CiAgICBpbnQgYW5zPTA7CiAgICBkbwogICAgewogICAgICAgIGlmKGlzU3Vic2VxdWVuY2UoUyxUKSkKICAgICAgICB7CiAgICAgICAgICAgIGludCB4PWlzUG9zc2libGUoUyxjb3B5X1Msayk7CiAgICAgICAgICAgIGlmKHg8PWspIGFucysrOwogICAgICAgIH0KICAgIH13aGlsZShuZXh0X3Blcm11dGF0aW9uKFMuYmVnaW4oKSxTLmVuZCgpKSk7CiAgICBjb3V0PDxhbnM8PCdcbic7Cn0K