#include<iostream>
#include<string>
#include<sstream>
#include<vector>
using namespace std;
#define REP(i, j) for(int i = 0; i < j; i++)
#define FOR(i, j, k) for(int i = j; i < k; i++)
const int N = 30;

bool isOK(string str){
    stringstream ss(str);
    vector<string> v;
    string tmp;
    while(ss >>tmp) v.push_back(tmp);
    REP(i, v.size()) if(v[i] == "the" || v[i] == "this" || v[i] == "that") return true;
    return false;
}

int main(){
    string str;
    while(getline(cin, str)){
        REP(z, N){
            REP(i, str.size()){
                if(!isalpha(str[i])) continue;
                str[i] = ++str[i] <= 'z'? str[i] : 'a';
            }
            if(isOK(str)){
                cout <<str <<endl;
                break;
            }
        }
    }
    return 0;
}