#include <iostream>
#include <stdio.h>
using namespace std;
int tab[27][27];
string wyraz,klucz;
int d,e,ile;
int main()
{
for(int i=1; i<=26; i++)
{
for(int j=1; j<=26; j++)
{
if(j+64+i-1>90)
{
tab[i][j]=(j+64+i-1-26);
}
else
{
tab[i][j]=(j+64+i-1);
}
}
}
cin>>ile;
//
while(ile--)
{
//
cin>>klucz;
getline(cin, wyraz);//
getline(cin, wyraz);
d=wyraz.length();
e=klucz.length();
int i=0;
int j=0;
while(i<d)
{
for(int j=0; j<e; j++)
{
if(wyraz[i]==' ')
{
wyraz[i]=' ';
i++;
}
wyraz[i]=(char)tab[(int)wyraz[i]-64][(int)klucz[j]-64];
i++;
}
j=0;
}
cout<<wyraz;
if (ile!=0) cout<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkaW8uaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IHRhYlsyN11bMjddOwpzdHJpbmcgd3lyYXosa2x1Y3o7CmludCBkLGUsaWxlOwppbnQgbWFpbigpCnsKICAgIGZvcihpbnQgaT0xOyBpPD0yNjsgaSsrKQogICAgewogICAgICAgIGZvcihpbnQgaj0xOyBqPD0yNjsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgaWYoais2NCtpLTE+OTApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHRhYltpXVtqXT0oais2NCtpLTEtMjYpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdGFiW2ldW2pdPShqKzY0K2ktMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBjaW4+PmlsZTsKICAgIC8vCiAgICB3aGlsZShpbGUtLSkKICAgIHsKICAgICAgICAvLwogICAgICAgIGNpbj4+a2x1Y3o7CiAgICAgICAgZ2V0bGluZShjaW4sIHd5cmF6KTsvLwogICAgICAgIGdldGxpbmUoY2luLCB3eXJheik7CiAgICAgICAgZD13eXJhei5sZW5ndGgoKTsKICAgICAgICBlPWtsdWN6Lmxlbmd0aCgpOwogICAgICAgIGludCBpPTA7CiAgICAgICAgaW50IGo9MDsKICAgICAgICB3aGlsZShpPGQpCiAgICAgICAgewogICAgICAgICAgICBmb3IoaW50IGo9MDsgajxlOyBqKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKHd5cmF6W2ldPT0nICcpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgd3lyYXpbaV09JyAnOwogICAgICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHd5cmF6W2ldPShjaGFyKXRhYlsoaW50KXd5cmF6W2ldLTY0XVsoaW50KWtsdWN6W2pdLTY0XTsKICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgfQogICAgICAgICAgICBqPTA7CiAgICAgICAgfQogICAgICAgIGNvdXQ8PHd5cmF6OwogICAgICAgIGlmIChpbGUhPTApIGNvdXQ8PGVuZGw7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=