a,b,c:string;
mima:array['A'..'Z']of char;
q,w,e:longint;o:char;
procedure ha;
begin
writeln('Failed');
halt;
end;
begin
readln(a);readln(b);if length(a)<26 then ha;readln(c);
for o:='A' to 'Z' do mima[o]:='0';
for q:=1 to length(a)do
begin
o:=b[q];
if (o<>mima[a[q]]) then
if (mima[a[q]]='0') then mima[a[q]]:=b[q]
else ha;
end;
for o:='A' to 'Z' do if mima[o]='0' then ha;
for q:=1 to length(c) do write(mima[c[q]]);
end.
a,b,c:string;
mima:array['A'..'Z']of char;
po:Array['A'..'Z']of boolean;
q,w,e:longint;o:char;
procedure ha;
begin
writeln('Failed');
halt;
end;
begin
readln(a);readln(b);if length(a)<26 then ha;readln(c);
for o:='A' to 'Z' do begin mima[o]:='0';po[o]:=false;end;
for q:=1 to length(a)do
begin
o:=b[q];
if (o<>mima[a[q]]) then
if (mima[a[q]]='0') then mima[a[q]]:=b[q]
else ha;
end;
for o:='A' to 'Z' do if mima[o]='0' then ha;
for o:='A' to 'Z' do po[mima[o]]:=true;
for o:='A' to 'Z' do if po[o]=false then ha;
for q:=1 to length(c) do write(mima[c[q]]);
end.