//用一个长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;
    }
}