模拟过程即可

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String encode = "";
        while ((encode = br.readLine()) != null) {
            String decode = br.readLine();
            System.out.println(doEncode(encode));
            System.out.println(doDecode(decode));
        }
        br.close();
    }

    public static String doEncode(String s) {
        StringBuilder sb = new StringBuilder();
        for(char c: s.toCharArray()) {
            if ('0' <= c && c <= '8') {
                sb.append((char)(c+1));
            } else if (c == '9') {
                sb.append('0');
            } else if ('a' <= c && c <= 'y') {
                sb.append((char)(c + 1 - 'a' + 'A'));
            } else if (c == 'z') {
                sb.append('A');
            } else if ('A' <= c && c <= 'Y') {
                sb.append((char)(c + 1 - 'A' + 'a'));
            } else if (c == 'Z') {
                sb.append('a');
            } else {
                sb.append(c);
            }
        }
        return sb.toString();
    }

    public static String doDecode(String s) {
        StringBuilder sb = new StringBuilder();
        for(char c: s.toCharArray()) {
            if ('1' <= c && c <= '9') {
                sb.append((char)(c-1));
            } else if (c == '0') {
                sb.append('9');
            } else if ('b' <= c && c <= 'z') {
                sb.append((char)(c - 1 - 'a' + 'A'));
            } else if (c == 'a') {
                sb.append('Z');
            } else if ('B' <= c && c <= 'Z') {
                sb.append((char)(c - 1 - 'A' + 'a'));
            } else if (c == 'A') {
                sb.append('z');
            } else {
                sb.append(c);
            }
        }
        return sb.toString();
    }
}