#include<bits/stdc++.h>
using namespace std;
map<char,char> q,p;
int main(){
string s1,s2,s3;
cin>>s1>>s2>>s3;
for(int i=0;i<s1.size();i++){
q[s1[i]]=s2[i];
p[s2[i]]=s1[i];
}
for(int i=0;i<s1.size();i++){
for(int j=0;j<s1.size();j++){
if(s1[i]==s1[j]&&s2[i]!=s2[j]) return printf("Failed")&0;
}
}
if(s2.size()<26) return printf("Failed")&0;
for(int j=0;j<s3.size();j++){
cout<<p[s3[j]];
}
return 0;
}
感觉有点不严谨,但是看不出问题