NumsList = ["1","2","3","4","5","6","7","8","9","0"]
UpperList = ['b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a']
LowerList = ['B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A']

def Encode(strs):    # 解密
    if not strs:
        return strs
    NewStr = ""
    for x in strs:    
        if x.isdigit():
            NewStr += NumsList[(int(x)+8) % 10]    # 加密和解密是相反的,所以要回退一格;按列表长度处理
        elif x.isupper():
            NewStr += UpperList[(ord(x) - ord('A')+24) % 26]
        elif x.islower():
            NewStr += LowerList[(ord(x) - ord('a')+24) % 26]
    print(NewStr)
    return NewStr

def Decode(strs):    # 加密
    if not strs:
        return strs
    NewStr = ""
    for x in strs:
        if x.isdigit():
            NewStr += NumsList[int(x)]
        elif x.isupper():
            NewStr += UpperList[ord(x) - ord('A')]
        elif x.islower():
            NewStr += LowerList[ord(x) - ord('a')]
    print(NewStr)
    return NewStr

Flag = 0
while True:
    try:
        strs = input()
        if Flag == 0:
            Decode(strs)
            Flag = 1
        else:
            Encode(strs)
            Flag = 0
    except:
        break