#include <iostream>
#include <cstring>
#include <stdio.h>

int find(const std::string &str){
	return (str.find("this",0)!=std::string::npos) + (str.find("that",0)!=std::string::npos) + (str.find("the",0)!=std::string::npos);
}

std::string rot(const std::string &prm, int n)
{
	std::string str=prm;

	for(int i=0; i < str.size(); i++){
		if(('a'<=str[i]) && (str[i]<='z'))
			str[i] = (str[i]+n > 'z')?(str[i]+n-'z'+'a'-1):(str[i]+n);
	}
return str;
}
	
int main(void)
{
	char s[81]="";
	while(std::cin.getline(s,sizeof(s)))
	{
		std::string in=s;
		for(int i=0;i < ('z'-'a');i++)
		{
			if(find(rot(in, i))){
				std::cout << rot(in, i) << std::endl;
				break;
			}
		}
	}
	return 0;
}