#include<iostream>
#include<string>

using namespace std;

int main() {
	string str, str2, ans;
	int i, j, l, n = 0;
	while (getline(cin, str)) {
		ans += str;
		ans += '\n';
		if (n != 0) {
			continue;
		}
		l = str.length();
		str2.resize(l);
		for (i = 1; i < 26; i++) {
			for (j = 0; j < l; j++) {
				if (str[j] == '.'||str[j]==' '||str[j]=='\n') {
					continue;
				}
				if (str[j] + i > 'z') {
					str2[j] = str[j] - 26 + i;
				}
				else {
					str2[j] = str[j] + i;
				}
			}
			if (str2.find("the") != string::npos || str2.find("this") != string::npos || str2.find("that") != string::npos) {
				n = i;
				break;
			}
		}
	}
	l = ans.length();
	for (i = 0; i < l; i++) {
		if (ans[i] == '.' || ans[i] == ' ' || ans[i] == '\n') {
			continue;
		}
		if (ans[i] + n > 'z') {
			ans[i] = ans[i] - 26 + n;
		}
		else {
			ans[i] = ans[i] + n;
		}
	}
	cout << ans;
	return 0;
}