import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println(solution(in.nextLine()));
}
public static String solution(String info) {
char[] chars = info.toCharArray();
for (int i = 0; i < chars.length; i++) {
chars[i] = convert(chars[i]);
}
return String.valueOf(chars);
}
public static char convert(char c) {
// abc--2, def--3, ghi--4, jkl--5, mno--6, pqr--7
if ('a' <= c && c <= 'r') {
return (char) (((c - 'a') / 3) + '2');
}
if ('A' <= c && c <= 'Z') {
// 33 = ('a' - 'A') + 1 当 c == 'Z' 不再平行偏移 所以比较特殊
return c == 'Z' ? 'a' : (char) (c + 33);
}
return switch (c) {
case 's' -> '7';
case 't', 'u', 'v' -> '8';
case 'w', 'x', 'y', 'z' -> '9';
default -> c;
};
}
}