#include <bits/stdc++.h>
#define endl '\n'
#define ll long long
using namespace std;
const int N = 2e2;
int m, n, k, z, position, cnt;
string x, y, a[N + 7];
set <string> v;
map <string, int> mp;
void recur(int pos, string sub)
{
if(sub.size() > n) return;
if(pos == x.size())
{
if(sub.size() < n) return;
if(sub.size() == n)
{
int j = 0;
for(int i = 0; i < y.size() && j < sub.size(); ++i)
if(y[i] == sub[j]) ++j;
if(j < sub.size())
v.insert(sub);
}
return;
}
recur(pos + 1, sub);
recur(pos + 1, sub + x[pos]);
}
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> m >> n >> k;
cin >> x >> y;
for(int i = 1; i <= m; i++) cin >> a[i];
recur(0, "");
for(string tmp : v)
mp[tmp] = ++cnt;
for(int i = 1; i <= m; ++i)
{
if(!mp.count(a[i])) cout << -1 << endl;
else cout << mp[a[i]] % k << endl;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgZW5kbCAnXG4nCiNkZWZpbmUgbGwgbG9uZyBsb25nCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBOID0gMmUyOwoKaW50IG0sIG4sIGssIHosIHBvc2l0aW9uLCBjbnQ7CnN0cmluZyB4LCB5LCBhW04gKyA3XTsKc2V0IDxzdHJpbmc+IHY7Cm1hcCA8c3RyaW5nLCBpbnQ+IG1wOwp2b2lkIHJlY3VyKGludCBwb3MsIHN0cmluZyBzdWIpCnsKICAgIGlmKHN1Yi5zaXplKCkgPiBuKSByZXR1cm47CiAgICBpZihwb3MgPT0geC5zaXplKCkpCiAgICB7CiAgICAgICAgaWYoc3ViLnNpemUoKSA8IG4pIHJldHVybjsKICAgICAgICBpZihzdWIuc2l6ZSgpID09IG4pCiAgICAgICAgewogICAgICAgICAgICBpbnQgaiA9IDA7CiAgICAgICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCB5LnNpemUoKSAmJiBqIDwgc3ViLnNpemUoKTsgKytpKQogICAgICAgICAgICAgICAgaWYoeVtpXSA9PSBzdWJbal0pICsrajsKICAgICAgICAgICAgaWYoaiA8IHN1Yi5zaXplKCkpCiAgICAgICAgICAgICAgICB2Lmluc2VydChzdWIpOwogICAgICAgIH0KICAgICAgICByZXR1cm47CiAgICB9CgogICAgcmVjdXIocG9zICsgMSwgc3ViKTsKICAgIHJlY3VyKHBvcyArIDEsIHN1YiArIHhbcG9zXSk7Cn0KCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICBjaW4gPj4gbSA+PiBuID4+IGs7CiAgICBjaW4gPj4geCA+PiB5OwogICAgZm9yKGludCBpID0gMTsgaSA8PSBtOyBpKyspIGNpbiA+PiBhW2ldOwogICAgcmVjdXIoMCwgIiIpOwoKICAgIGZvcihzdHJpbmcgdG1wIDogdikKICAgICAgICBtcFt0bXBdID0gKytjbnQ7CgogICAgZm9yKGludCBpID0gMTsgaSA8PSBtOyArK2kpCiAgICB7CiAgICAgICAgaWYoIW1wLmNvdW50KGFbaV0pKSBjb3V0IDw8IC0xIDw8IGVuZGw7CiAgICAgICAgZWxzZSBjb3V0IDw8IG1wW2FbaV1dICUgayA8PCBlbmRsOwogICAgfQp9Cg==