#include <iostream>
#include <string>

using namespace std;

string decipher (const string& s_, int n) {
    string s = s_;
    for (int i = 0; i < s.size(); i++) {
        if ('a' <= s[i] && s[i] <= 'z') {
            int c = (int)s[i] + n;
            if (c > (int)'z') {
                c = c - (int)'z' + (int)'a' - 1;
            }
            s[i] = (char)c;
        }
    }
    return s;
}

bool test (const string& s) {
    if ((int)s.find("the")  != -1) return true;
    if ((int)s.find("this") != -1) return true;
    if ((int)s.find("that") != -1) return true;
    return false;
}

int main (void) {
    while (1) {
        string s, s_;
        getline(cin, s);
        if (cin.eof()) break;
        for (int i = 0; i < 26; i++) {
            s_ = decipher(s, i);
            if (test(s_)) {
                cout << s_ << endl;
                break;
            }
        }
    }
    return 0;
}