-
var k,s,ans:ansistring; len1,len2,num,i,sum:longint; f:array[1..1000] of boolean; begin reset(input); rewrite(output); readln(k); readln(s); len1:=length(k); len2:=length(s); num:=0; sum:=0; k:=upcase(k); for i:=1 to len2 do if ord(s[i])>ord('Z') then begin f[i]:=true; s[i]:=chr(ord(s[i])-32); end; for i:=1 to len2 do begin inc(num); if num>len1 then num:=1; sum:=ord(k[num])-ord('A'); sum:=ord(s[i])-sum; if sum<65 then sum:=sum+26; ans:=ans+chr(sum); end; for i:=1 to len2 do begin if f[i]=true then write(chr(ord(ans[i])+32)) else write(ans[i]); end; close(input); close(output); end.