#include <iostream>
#include <string>
using namespace std;
const int N(512);
char code[N]={0};
char code2[N]={0};
int main()
{
	string ci,cl,nci;
	cin>>ci>>cl>>nci;
	int l(ci.size());bool failed=false;
	for(int i=0;i<l;i++)
	{
		char x(ci[i]),y(cl[i]);
		if((!code[x])&&(!code2[y]))
			code[x]=y,code2[y]=x;
		else if(code[x]!=y||code2[y]!=x)
		{
			failed=true;
			break;
		}
	}
	for(int i='A';i<='Z';i++)
		if(code[i]==0)
		{
			failed=true;
			break;
		}
	if(!failed)
		for(int i=0;i<nci.size();i++)
			cout<<code[nci[i]];
	else
		cout<<"Failed";
	cout<<endl;
	return 0;
}
/**************************************************************
	Problem: 2288
	User: admin
	Language: C++
	Result: Accepted
	Time:49 ms
	Memory:2076 kb
****************************************************************/