#include<bits/stdc++.h>
using namespace std;
int main()
{
freopen("in.txt","r",stdin);
map<char,char> mp;
map<char,int> mp1;
map<char,char> hashtable;
map<char,int> hashtable1;
string s1,s2,s3;
cin>>s1>>s2>>s3;
int flag=0;
for(int i=0;i<s1.length();i++){
if(mp1[s1[i]]==0||(mp1[s1[i]]>0&&mp[s1[i]]==s2[i])){
mp[s1[i]]=s2[i];
mp1[s1[i]]++;
}else if(mp1[s1[i]]>0&&mp[s1[i]]!=s2[i]){
flag=1;break;
}
if(hashtable1[s2[i]]==0||(hashtable1[s2[i]]>0&&hashtable[s2[i]]==s1[i])){
hashtable[s2[i]]=s1[i];
hashtable1[s2[i]]++;
}else if(hashtable1[s2[i]]>0&&hashtable[s2[i]]!=s1[i]){
flag=1;break;
}
}
if(flag==1||mp.size()!=26){
cout<<"Failed";return 0;
}
for(int i=0;i<s3.length();i++){
cout<<mp[s3[i]];
}
return 0;
}