/*
  * 解题思路:
  *         1. 小写 'a' ~ 'z' -> (ch - 'a') / 3 + '2';  特殊: s, v, y, z -> + '1'
  *         3. 大写 'A' ~ 'Y' -> CH - ('a' - 'A'); 特殊: Z --> a
  *         2. 其它不变
  * 提交失败:
  *         1. 输入->'v' 预期->'8' 实际->':' 原因是 'v' 错误处理成 + '2', 实际应该 + '1'
  *         2. 输出->'s' 预期->'7' 实际->'9' 原因是 's' 错误处理成 + '2', 实际应该 + '1'
  */
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextLine()) {
            char[] passwd = sc.nextLine().toCharArray();
            for (int i = 0; i < passwd.length; i++) {
                char ch = passwd[i];
                if (ch == 's' || ch == 'v' || ch == 'y' || ch == 'z') {
                    passwd[i] = (char)((ch - 'a') / 3 + '1');
                    continue;
                }
                if (ch >= 'a' && ch <= 'z') {
                    passwd[i] = (char)((ch - 'a') / 3 + '2');
                    continue;
                }
                if (ch >= 'A' && ch < 'Z') {
                    passwd[i] = (char)(ch + ('a' - 'A') + 1);
                    continue;
                }
                if (passwd[i] == 'Z') {
                    passwd[i] = 'a';
                    continue;
                }
            }
            System.out.println(new String(passwd));
        }
    }
}