import java.util.Scanner;
/**
* 【简单密码】
*
* 描述:现在有一种密码变换算法。
* 九键手机键盘上的数字与字母的对应: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,
* 把密码中出现的小写字母都变成九键键盘对应的数字,如:a 变成 2,x 变成 9.
* 而密码中出现的大写字母则变成小写之后往后移一位,如:X ,先变成小写,再往后移一位,变成了 y ,例外:Z 往后移是 a 。
* 数字和其它的符号都不做变换。
*
* A-Z的ascii值为 65-90 a-z的ascii值为 97-122
*
* 【注意】‘Z’和‘a’不是连续的,Z是90,a是97
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String nextLine = sc.nextLine();
char[] chars = nextLine.toCharArray();
for (char aChar : chars) {
if ((97 <= aChar) && (aChar <= 122)) {
System.out.print(char2Number(aChar));
} else if ((65 <= aChar) && (aChar <= 90)) {
if (aChar == 90) { // // 'Z'单独处理
System.out.print((char) (aChar + 7));
} else {
System.out.print((char) (aChar + 33));
}
} else {
System.out.print(aChar);
}
}
}
public static char char2Number(char aChar) {
if ("abc".contains(String.valueOf(aChar))) {
return '2';
}
if ("def".contains(String.valueOf(aChar))) {
return '3';
}
if ("ghi".contains(String.valueOf(aChar))) {
return '4';
}
if ("jkl".contains(String.valueOf(aChar))) {
return '5';
}
if ("mno".contains(String.valueOf(aChar))) {
return '6';
}
if ("pqrs".contains(String.valueOf(aChar))) {
return '7';
}
if ("tuv".contains(String.valueOf(aChar))) {
return '8';
}
if ("wxyz".contains(String.valueOf(aChar))) {
return '9';
}
return '0';
}
}