#include "bits/stdc++.h"

#define REP(i,num) for(int i=0;i<(num);++i)
#define ALL(c) c.begin(),c.end()
#define PRINTALL(c) for(auto& x:c){cout<<x<<' ';}cout<<endl;
#define PAIRCOMP(c,comp) [](const pair<ll,ll>& lhs,const pair<ll,ll>& rhs){return lhs.c comp rhs.c;}

using namespace std;
using ll = long long;

constexpr ll atcoder_mod = 1e9+7;

template<typename T=int>
T in(){T x; cin >> x; return (x);}
template<typename T=int,typename C=vector<T>>
C vecin(int N){C x(N);REP(i,N){x[i]=in<T>();}return move(x);}

void vout(){cout << endl;}
template<typename Head,typename... Tail>
void vout(Head&& h,Tail&&... t){cout << ' ' << h;vout(forward<Tail>(t)...);}
void out(){cout << endl;}
template<typename Head,typename... Tail>
void out(Head&& h,Tail&&... t){cout << h;vout(forward<Tail>(t)...);}

vector<string> split_naive(const string &s, char delim) {
	vector<string> elems;
	string item;
	for (char ch: s) {
		if (ch == delim) {
			if (!item.empty())
				elems.push_back(item);
			item.clear();
		}
		else {
			item += ch;
		}
	}
	if (!item.empty())
		elems.push_back(item);
	return elems;
}

int main(){
	cin.tie(0);
	ios::sync_with_stdio(false);
	
	char line[100];
	while(cin.getline(line,sizeof(line))){
		string S(line);
		auto T=split_naive(S,' ');
		int offset = 0;
		for(auto& x:T){
			int N=x.size();
			if(N==3){
				int a = x[0]-'a';
				int b = x[1]-'a';
				int c = x[2]-'a';
				if(c>=0 && c<=25 && ((a-b+26)%26)==12 && ((a-c+26)%26)==15){
					offset = a-('t'-'a');
					break;
				}
			}
			else if(N==4){
				int a = x[0]-'a';
				int b = x[1]-'a';
				int c = x[2]-'a';
				int d = x[3]-'a';
				if(d>=0 && d<=25 && ((a-b+26)%26)==12 && ((a-c+26)%26)==19 && ((a-d+26)%26)==0){
					offset = a-('t'-'a');
					break;
				}
				else if(d>=0 && d<=25 && ((a-b+26)%26)==12 && ((a-c+26)%26)==11 && ((a-d+26)%26)==1){
					offset = a-('t'-'a');
					break;
				}
			}
			else if(N==5){
				int a = x[0]-'a';
				int b = x[1]-'a';
				int c = x[2]-'a';
				int d = x[3]-'a';
				if(d>=0 && d<=25 && ((a-b+26)%26)==12 && ((a-c+26)%26)==19 && ((a-d+26)%26)==0){
					offset = a-('t'-'a');
					break;
				}
				else if(d>=0 && d<=25 && ((a-b+26)%26)==12 && ((a-c+26)%26)==11 && ((a-d+26)%26)==1){
					offset = a-('t'-'a');
					break;
				}
			}
		}
		for(int j=0;j<100;j++){
			if(line[j]>='a' && line[j]<='z'){
				int c=line[j]-'a';
				c=(c+26-offset)%26;
				line[j] = c+'a';
			}
		}
		out(line);
	}
	return 0;
}
