#include<iostream>
#include<string>
#include<algorithm>
#include<map>
#include<set>
#include<vector>
#include<stack>
#include<queue>
#include<iomanip>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<math.h>
#include<stdlib.h>
#include<time.h>

#define pi acos(-1.0)
#define eps 1e-9
#define lup1(i,a,b,c) for(int i=a;i<b;i+=c)
#define lup2(i,a,b,c) for(int i=a;i<=b;i+=c)
#define lup3(i,a,b,c) for(int i=a;i>b;i-=c)
#define lup4(i,a,b,c) for(int i=a;i>=b;i-=c)
#define max(a,b) ((a>b)?a:b)
#define Max(a,b,c) max(max(a,b),c)
#define min(a,b) ((a>b)?b:a)
#define Min(a,b,c) min(min(a,b),c)
#define clear(a) memset(a,0,sizeof(a))
#define settrue(a) memset(a,true,sizeof(a))
#define setfalse(a) memset(a,false,sizeof(a))
#define open freopen("inp.txt","r",stdin)
#define close freopen ("out.txt","w",stdout)
#define Case(a) printf("Case %d: ",a)
#define Case_h(a) printf("Case #%d: ",a)
#define ll long long
#define ull unsigned long long

using namespace std;



int main(){
    string s;
    int i,j;
    while (getline(cin,s))
    {
        int k = s.length();
        lup1(i,0,k,1)
        {
            if((s[i]>='a' && s[i]<='z') || (s[i]>='A' && s[i]<='Z'))
            {
                if(s[i] =='a')s[i] = 'w';
                else if(s[i] == 'A')s[i] = 'W';
                else if(s[i] == 'b')s[i] = 'x';
                else if(s[i] == 'B')s[i] = 'X';
                else if(s[i] == 'c')s[i] = 'y';
                else if(s[i] == 'C')s[i] = 'Y';
                else if(s[i] == 'd')s[i] = 'z';
                else if(s[i] == 'D')s[i] = 'Z';
                else s[i] -= 4;
            }
        }
        cout << s << endl;
    }
    return 0;
}