//用一个长26的数组即可满足这个要求。
#include<iostream>
using namespace std;
int main(){
string key,sentence;
while(getline(cin,key)&&getline(cin,sentence)){
int alphabet[26]={0};//统计字母是否已经出现过。
string code="";//小写字母的密码表。
for(int i=0;i<key.size();i++){
if(key[i]>='a'&&key[i]<='z'){
if(alphabet[key[i]-'a']==0){
code+=key[i];
alphabet[key[i]-'a']=1;
}
}
}
for(int i=0;i<26;i++){
if(alphabet[i]==0){
code+=char('a'+i);
}
}
for(int i=0;i<sentence.size();i++){
if(sentence[i]>='a'&&sentence[i]<='z'){
cout<<code[sentence[i]-'a'];
}
if(sentence[i]>='A'&&sentence[i]<='Z'){//大小写转换
cout<<char(code[sentence[i]+32-'a']-32);
}
}
cout<<endl;
}
}