#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
string key,ming_s;
while(cin>>key>>ming_s)
{
transform(key.begin(),key.end(),key.begin(),::toupper);//统一转成大写
vector<char> v;//v用于存加key后的字母表
for(int i=0;i<key.size();i++)//先将key插入字母表中
{
int j;
for(j=0;j<v.size();j++)
{
if (v[j]==key[i]) break;
}
if(j==v.size()) v.push_back(key[i]);
}
int i;
for( i=0;i<26;i++)//再插入key以外的字母到字母表中
{
int j;
for(j=0;j<v.size();j++)
{
if (v[j]==('A'+i)) break;
}
if(j==v.size()) v.push_back('A'+i);
}
for(int m=0;m<ming_s.size();m++)//这里开始将明文转成密文
{
int lower_flag=0;//字母小写标志,若小写则为1,并统一转成大写方便和字母表对应
if(ming_s[m]>='a'&&ming_s[m]<='z')
{
lower_flag=1;
ming_s[m]=toupper(ming_s[m]);//统一转成大写方便和字母表对应
}
ming_s[m]=v[(ming_s[m]-'A')];//铭文中字母相对‘A’的位置正好是加key字母表中的下标
if(lower_flag)
{
ming_s[m]=tolower(ming_s[m]);//如果是小写,需要转回小写
}
}
for(auto x:ming_s) cout<<x;
cout<<endl;
}
}