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));
        }
        
    }
}