#include <iostream>
#include <vector>
#include <algorithm>
#include <unordered_map>
using namespace std;
unordered_map<char, char>m;
int ka,kb,kc;
int num[26];
int main() {
string a, b, c;
getline(cin, a);
getline(cin, b);
getline(cin, c);
for (int i = 0; i < a.size(); i++) {
int t = a[i] - 'A';
if (num[t]) {
char ch = m[a[i]];
if (ch != b[i]) {
cout << "Failed";
return 0;
}
} else {
num[t] = 1;
m.insert(make_pair(a[i], b[i]));
}
}
for (int i = 0; i < c.size(); i++) {
int t = c[i] - 'A';
if (!num[t]) {
cout << "Failed";
return 0;
} else {
cout << m[c[i]];
}
}
return 0;
}