#include<bits/stdc++.h>
using namespace std;
#define int long long
#define fi first
#define se second
#define siz(x) (int)(x.size())
#define all(x) x.begin(), x.end()
#define debug_arr(x,len) for(int _=1; _<=len; _++) cout<<x[_]<<" "; cout<<'\n';
#define debug(x) cout<<'\n'<<#x<<": "<<x<<'\n';
const int maxN = 1e5+5;
int n, m;
string a[maxN];
void solve()
{
}
int32_t main()
{
ios_base::sync_with_stdio(0); cin.tie(0);
int test=1, dem=0;
cin>>test;
while(test--)
{
cin>>n;
for(int i=1; i<=n; i+=1) cin>>a[i];
map<tuple<char, char, int>, int>mp;
for(int i=1; i<=n; i+=1)
{
mp[{a[i][0], a[i].back(), siz(a[i])}]++;
}
cin>>m; cin.ignore();
cout<<"Case "<<++dem<<":\n";
for(int i=1; i<=m; i+=1)
{
string x; getline(cin, x);
int ans = 1ll;
for(int j=0; j<siz(x); j+=1)
{
int start = j;
while(j<siz(x) && x[j] != ' ') j++;
// cout<<x[start]<<" "<<x[j-1]<<'\n';
ans = 1ll * ans * mp[{x[start], x[j-1], j-start}];
}
cout<<ans<<'\n';
}
solve();
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBzaXooeCkgKGludCkoeC5zaXplKCkpCiNkZWZpbmUgYWxsKHgpIHguYmVnaW4oKSwgeC5lbmQoKQojZGVmaW5lIGRlYnVnX2Fycih4LGxlbikgZm9yKGludCBfPTE7IF88PWxlbjsgXysrKSBjb3V0PDx4W19dPDwiICI7IGNvdXQ8PCdcbic7CiNkZWZpbmUgZGVidWcoeCkgY291dDw8J1xuJzw8I3g8PCI6ICI8PHg8PCdcbic7CmNvbnN0IGludCBtYXhOID0gMWU1KzU7CgppbnQgbiwgbTsKc3RyaW5nIGFbbWF4Tl07CnZvaWQgc29sdmUoKQp7CiAgICAKfQoKaW50MzJfdCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsKICAgIGludCB0ZXN0PTEsIGRlbT0wOwogICAgY2luPj50ZXN0OwogICAgd2hpbGUodGVzdC0tKQogICAgewogICAgICAgIGNpbj4+bjsKICAgICAgICBmb3IoaW50IGk9MTsgaTw9bjsgaSs9MSkgY2luPj5hW2ldOwogICAgICAgIG1hcDx0dXBsZTxjaGFyLCBjaGFyLCBpbnQ+LCBpbnQ+bXA7CiAgICAgICAgZm9yKGludCBpPTE7IGk8PW47IGkrPTEpCiAgICAgICAgewogICAgICAgICAgICBtcFt7YVtpXVswXSwgYVtpXS5iYWNrKCksIHNpeihhW2ldKX1dKys7CiAgICAgICAgfQogICAgICAgIGNpbj4+bTsgY2luLmlnbm9yZSgpOwogICAgICAgIGNvdXQ8PCJDYXNlICI8PCsrZGVtPDwiOlxuIjsKICAgICAgICBmb3IoaW50IGk9MTsgaTw9bTsgaSs9MSkKICAgICAgICB7CiAgICAgICAgICAgIHN0cmluZyB4OyBnZXRsaW5lKGNpbiwgeCk7CiAgICAgICAgICAgIGludCBhbnMgPSAxbGw7CiAgICAgICAgICAgIGZvcihpbnQgaj0wOyBqPHNpeih4KTsgais9MSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaW50IHN0YXJ0ID0gajsKICAgICAgICAgICAgICAgIHdoaWxlKGo8c2l6KHgpICYmIHhbal0gIT0gJyAnKSBqKys7CiAgICAgICAgICAgICAgICAvLyBjb3V0PDx4W3N0YXJ0XTw8IiAiPDx4W2otMV08PCdcbic7CiAgICAgICAgICAgICAgICBhbnMgPSAxbGwgKiBhbnMgKiBtcFt7eFtzdGFydF0sIHhbai0xXSwgai1zdGFydH1dOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvdXQ8PGFuczw8J1xuJzsKICAgICAgICB9CiAgICAgICAgc29sdmUoKTsKICAgIH0KfQ==