//...START BY DOING WHAT IS NECESSARY, THEN WHAT IS POSSIBLE AND SUDDENLY YOU ARE DOING THE IMPOSSIBLE...
#include <bits/stdc++.h>
using namespace std;
#define FAST_FURIER ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define pb push_back
#define rep(i,a,N) for(ll i=a;i<N;i++)
typedef long long ll;
#define endl '\n'
#define M 998244353
bool comp(int x,int y)
{
return x > y;
}
/*..............................code starts here........................*/
ll fac[100001];
void fill(){
fac[0] = 1;
rep(i,1,100001){
fac[i] = (fac[i-1]*i)%M;
}
//cout << fac[1] << " " << fac[2] << endl;
}
ll power(ll no,ll p)
{
if(p == 1)
return no;
if(p == 0)
return 1;
ll q = power(no,p/2);
q = (q*q)%M;
if(p % 2 != 0)
q = (q*no)%M;
return q;
}
int main() {
FAST_FURIER;
fill();
int t=1;
cin >> t;
ll m,n,k;
string a,b,s;
while(t--)
{
cin >> s;
//map<char,ll> mp;
int arr[26]={0};
rep(i,0,s.size()) arr[s[i]-'a'] += 1;
int f = 0;
ll mx = INT_MIN;
string name;
cin >> m;
rep(i,0,m){
cin >> a;
int arr2[26]={0};
rep(i,0,a.size()) arr2[a[i]-'a'] += 1;
//checking for difference
int flag = 0;
rep(i,0,26){
if(arr2[i] > arr[i])
{
flag = 1;
break;
}
}
if(flag)
{
cout << 0 << endl;
}
else
{
f = 1;
ll pro = 1;
rep(i,0,26)
{
if(arr2[i] > 0){
pro = (pro * (fac[arr[i]] * power((fac[arr[i]-arr2[i]]*fac[arr2[i]]),M-2)))%M;
}
// cout << pro << endl;
}
cout << pro << endl;
if(pro > mx){
mx = pro;
name = a;
}
}
}
if(f){
cout << name << endl;;
}
else cout << "No Research This Month" << endl;
}
}
Ly8uLi5TVEFSVCBCWSBET0lORyBXSEFUIElTIE5FQ0VTU0FSWSwgVEhFTiBXSEFUIElTIFBPU1NJQkxFIEFORCBTVURERU5MWSBZT1UgQVJFIERPSU5HIFRIRSBJTVBPU1NJQkxFLi4uIAojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBGQVNUX0ZVUklFUiBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgcmVwKGksYSxOKSBmb3IobGwgaT1hO2k8TjtpKyspCnR5cGVkZWYgbG9uZyBsb25nIGxsOwojZGVmaW5lIGVuZGwgJ1xuJwojZGVmaW5lIE0gOTk4MjQ0MzUzIApib29sIGNvbXAoaW50IHgsaW50IHkpCnsKICAgIHJldHVybiB4ID4geTsgICAKfQoKCi8qLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uY29kZSBzdGFydHMgaGVyZS4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiovCmxsIGZhY1sxMDAwMDFdOwp2b2lkIGZpbGwoKXsKICAgIGZhY1swXSA9IDE7CiAgICByZXAoaSwxLDEwMDAwMSl7CiAgICAgICAgZmFjW2ldID0gKGZhY1tpLTFdKmkpJU07CiAgICB9CiAgICAvL2NvdXQgPDwgZmFjWzFdIDw8ICIgIiA8PCBmYWNbMl0gPDwgZW5kbDsgIAp9CmxsIHBvd2VyKGxsIG5vLGxsIHApCnsKICAgIGlmKHAgPT0gMSkKICAgIHJldHVybiBubzsKICAgIGlmKHAgPT0gMCkKICAgIHJldHVybiAxOwogICAgbGwgcSA9IHBvd2VyKG5vLHAvMik7CiAgICBxID0gKHEqcSklTTsKICAgIGlmKHAgJSAyICE9IDApCiAgICBxID0gKHEqbm8pJU07CiAgICByZXR1cm4gcTsKfQoKaW50IG1haW4oKSB7CiAgICBGQVNUX0ZVUklFUjsKICAgIGZpbGwoKTsKICAgIGludCB0PTE7CiAgICBjaW4gPj4gdDsKICAgIGxsIG0sbixrOwogICAgc3RyaW5nIGEsYixzOwogICAgd2hpbGUodC0tKSAgCiAgICB7CiAgICAgICAgY2luID4+IHM7CiAgICAgICAgCiAgICAgICAgLy9tYXA8Y2hhcixsbD4gbXA7CiAgICAgICAgaW50IGFyclsyNl09ezB9OwogICAgICAgIHJlcChpLDAscy5zaXplKCkpIGFycltzW2ldLSdhJ10gKz0gMTsKICAgICAgICBpbnQgZiA9IDA7CiAgICAgICAgbGwgbXggPSBJTlRfTUlOOwogICAgICAgIHN0cmluZyBuYW1lOwogICAgICAgIGNpbiA+PiBtOwogICAgICAgIHJlcChpLDAsbSl7CiAgICAgICAgICAgIGNpbiA+PiBhOwogICAgICAgICAgICBpbnQgYXJyMlsyNl09ezB9OwogICAgICAgICAgICByZXAoaSwwLGEuc2l6ZSgpKSBhcnIyW2FbaV0tJ2EnXSArPSAxOwogICAgICAgICAgICAKICAgICAgICAgICAgLy9jaGVja2luZyBmb3IgZGlmZmVyZW5jZQogICAgICAgICAgICBpbnQgZmxhZyA9IDA7CiAgICAgICAgICAgIHJlcChpLDAsMjYpewogICAgICAgICAgICAgICAgaWYoYXJyMltpXSA+IGFycltpXSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBmbGFnID0gMTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgaWYoZmxhZykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY291dCA8PCAwIDw8IGVuZGw7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmID0gMTsKICAgICAgICAgICAgICAgIGxsIHBybyA9IDE7CiAgICAgICAgICAgICAgICByZXAoaSwwLDI2KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmKGFycjJbaV0gPiAwKXsKICAgICAgICAgICAgICAgICAgICAgICAgcHJvID0gKHBybyAqIChmYWNbYXJyW2ldXSAqIHBvd2VyKChmYWNbYXJyW2ldLWFycjJbaV1dKmZhY1thcnIyW2ldXSksTS0yKSkpJU07CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgLy8gY291dCA8PCBwcm8gPDwgZW5kbDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGNvdXQgPDwgcHJvIDw8IGVuZGw7CgogICAgICAgICAgICAgICAgaWYocHJvID4gbXgpewogICAgICAgICAgICAgICAgICAgIG14ID0gcHJvOwogICAgICAgICAgICAgICAgICAgIG5hbWUgPSBhOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIH0gICAgICAgICAgICAKICAgICAgICB9CiAgICAgICAgaWYoZil7CiAgICAgICAgICAgICAgICBjb3V0IDw8IG5hbWUgPDwgZW5kbDs7CiAgICAgICAgICAgIH0KICAgICAgICBlbHNlIGNvdXQgPDwgIk5vIFJlc2VhcmNoIFRoaXMgTW9udGgiIDw8IGVuZGw7CiAgICB9Cn0K