import java.util.Scanner;
public class Main {
public static void main(String[] args) {
/**
* 对输入的字符串进行加解密,并输出。
*
* 加密方法为:
*
* 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;
*
* 当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;
*
* 其他字符不做变化。
*
* 解密方法为加密的逆过程。
* 数据范围:输入的两个字符串长度满足
* 1 ≤ 𝑛 ≤ 1000
*
* 1≤n≤1000 ,保证输入的字符串都是只由大小写字母或者数字组成
*/
Scanner sc = new Scanner(System.in);
String s1 = sc.nextLine();
String s2 = sc.nextLine();
StringBuilder builder1 = new StringBuilder();
// 加密
for (char c : s1.toCharArray()) {
if (c >= 'a' && c <= 'z') {
if (c == 'z') {
c = 'A';
} else {
// 移到下一位并转换大小写
c = Character.toUpperCase(++c);
}
} else if (c >= 'A' && c <= 'Z') {
if (c == 'Z') {
c = 'a';
} else {
// 下一位且转换大小写
c = Character.toLowerCase(++c);
}
} else if (c >= '0' && c <= '9') {
if (c == '9') {
c = '0';
} else {
c = ++c;
}
}
// 其他字符不会修改原有的字符值
builder1.append(c);
}
StringBuilder builder2 = new StringBuilder();
// 解密
for (char c : s2.toCharArray()) {
if (c >= 'a' && c <= 'z') {
if (c == 'a') {
c = 'Z';
} else {
// 移到上一位并转换大小写
c = Character.toUpperCase(--c);
}
} else if (c >= 'A' && c <= 'Z') {
if (c == 'A') {
c = 'z';
} else {
// 上一位且转换大小写
c = Character.toLowerCase(--c);
}
} else if (c >= '0' && c <= '9') {
if (c == '0') {
c = '9';
} else {
c = --c;
}
}
// 其他字符不会修改原有的字符值
builder2.append(c);
}
System.out.println(builder1);
System.out.println(builder2);
}
}