#include <iostream>
#include <string>

using namespace std;

int main()
{
  string stro, str;
  while(getline(cin, stro)){
    for(int i = 1; i < 26; i++){
      str = stro;
      for(int j = 0; j < stro.length(); j++){
	if(str[j] != ' ' && str[j] != '.' && str[j] != '\n')
	  if(str[j] + i > 'z')
	    str[j] += i - 26;
	  else
	    str[j] += i;
      }
      if((str.find("the ", 0) != string::npos && str[0] == 't') || (str.find("this ", 0) != string::npos && str[0] == 't') || (str.find("that ", 0) != string::npos && str[0] == 't') || str.find(" the.", 0) != string::npos || str.find(" this.", 0) != string::npos || str.find(" that.", 0) != string::npos || str.find(" the ", 0) != string::npos || str.find(" this ", 0) != string::npos || str.find(" that ", 0) != string::npos || str.find("\nthe ", 0) != string::npos || str.find("\nthis ", 0) != string::npos || str.find("\nthat ", 0) != string::npos || str.find(" the\n", 0) != string::npos || str.find(" this\n", 0) != string::npos || str.find(" that\n", 0) != string::npos)
      cout << str << endl;	
    }
  }
}