#include<iostream>
#include<string>
using namespace std;
string a,b,s1;
int t,c[27],maxa;
void daxie(string s){
for(int i=0;i<s.size();i++){
if(s[i]>='a'&&s[i]<='z'){
s[i]=s[i]-'a'+'A';
}
}
s1=s;
}
int main(){
while(cin>>a){
if(a=="ENDOFINPUT"){
return 0;
}
getline(cin,s1);
getline(cin,s1);
cin>>b;
daxie(s1);
if(!t){
for(int i=0;i<s1.size();i++){
if(s1[i]>='A'&&s1[i]<='Z'){
c[s1[i]-'A'+1]++;
if(c[s1[i]-'A'+1]>maxa){
maxa=c[s1[i]-'A'+1];
if(s1[i]>'E'){
t=s1[i]-'E';
}else{
t=s1[i]+26-'E';
}
}
}
}
}
for(int i=0;i<s1.size();i++){
if(s1[i]>='A'&&s1[i]<='Z'){
if(s1[i]-t<'A'){
cout<<char(s1[i]-t+26);
}else{
cout<<char(s1[i]-t);
}
}else{
cout<<s1[i];
}
}
cout<<endl;
}
}