#include<iostream>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <string>
#include <map>
using namespace std;

int cnt(int x){if (x==0) return 0; return cnt(x&(x-1)) +1;}
const int dx[]={0,0,-1,1};
const int dy[]={1,-1,0,0};
#define For(i,a,b) for(int i=a;i<b;i++)

string UPD="~!@#$%^&*(){}\"<>PYFGCRL?+|AOEUIDHTNS_:QJKXBMWVZ";
string LOD="`1234567890[]',.pyfgcrl/=\\aoeuidhtns-;qjkxbmwvz";
string UPQ="~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>?";
string LOQ="`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,./";

map<char,char> M;

int main(){
	ifstream fin("DATA3.txt"); ofstream fout("OUT3.txt");
	char buf[1000];
	fin.getline(buf,1000);
	int n=strlen(buf);
	For(i,0,UPD.size()) M[UPD[i]]=UPQ[i];
	For(i,0,LOD.size()) M[LOD[i]]=LOQ[i];
	string ret;
	For(i,0,n){
		if (M.count(buf[i])==0) ret+= buf[i];
			else ret+=M[buf[i]];
	}
	fout << ret << endl;
	fin.close(); fout.close();
	return 0;
}
