public class Main{
//加密算法
public static String encry(String s){
StringBuffer sb=new StringBuffer(s);
for(int i=0;i<s.length();i++){
char temp=s.charAt(i);
//数字加密
if(temp>='0'&&temp<='9'){
sb.replace(i,i+1,Integer.toString(((temp-'0'+1)%10)));
continue;
}
//字母加密
if(temp>='A'&&temp<='Z'){
char bigchar=(char)(((int)temp-(int)'A'+1)%26+(int)'a');
sb.replace(i,i+1,Character.toString(bigchar));
continue;
}
if(temp>='a'&&temp<='z'){
char smallchar=(char)(((int)temp-(int)'a'+1)%26+(int)'A');
sb.replace(i,i+1,Character.toString(smallchar));
continue;
}
}
return(sb.toString());
}
//解密算法
public static String decry(String s){
StringBuffer sb=new StringBuffer(s);
for(int i=0;i<s.length();i++){
char temp=s.charAt(i);
if(temp>='0'&&temp<='9'){
sb.replace(i,i+1,Integer.toString(((((temp-'0')==0?10:(temp-'0'))-1)%10)));
continue;
}
if(temp>='A'&&temp<='Z'){
char bigchar=(char)((((temp-'A')==0?26:(temp-'A'))-1)%26+(int)'a');
sb.replace(i,i+1,Character.toString(bigchar));
continue;
}
if(temp>='a'&&temp<='z'){
char smallchar=(char)((((temp-'a')==0?26:(temp-'a'))-1)%26+(int)'A');
sb.replace(i,i+1,Character.toString(smallchar));
continue;
}
}
return(sb.toString());
}
public static void main(String[] args){
Scanner sc= new Scanner(System.in);
while(sc.hasNext()){
String s=sc.nextLine();
String ds=sc.nextLine();
System.out.println(encry(s));
System.out.println(decry(ds));
}
}
}