#include<iostream>
#include<string>
#include<vector>
using namespace std;

int main(void){
  string s;
  string a[3] = {"this","the","that"};
  getline(cin,s);
  vector<string> ss;
  string n = "";
  s += " ";
  for(int i = 0  ; i < s.size() ; i ++){
    if(s[i] == ' '){
      ss.push_back(n);
      n = "";
    }else{
      n += s[i];
    }
  }
  bool ans = true;
  for(int i = 0 ; i < ss.size() ; i ++){
    for(int j = 0 ; j < ss[i].size() ; j ++){
      if('a' > ss[i][j] && ss[i][j] < 'z')continue; 
      ss[i][j] ++;
      if(ss[i][j] == 'z' + 1)ss[i][j] = 'a';
    }
    for(int j = 0 ; j < 3 ; j ++){
      for(int k = 0 ; k < a[i].size() ; k ++){
	if(k == a[i].size() - 1){
	  ans = false;
	}else if(a[i][k] != ss[j][k]){
	  break;
	}
      }
      break;
    }
  }
  while(ans){
    for(int i = 0 ; i < ss.size() ; i ++){
      for(int j = 0 ; j < ss[i].size() ; j ++){
	if('a' > ss[i][j] && ss[i][j] < 'z')continue;
	ss [i][j]++;
	if(ss[i][j] == 'z' + 1)ss[i][j] = 'a';
      }
      for(int j = 0 ; j < 3 ; j ++){
	for(int k = 0 ; k < a[i].size() ; k ++){
	  if(k == a[i].size() - 1){
	    ans = false;
	  }else if(a[i][k] != ss[j][k]){
	    break;
	  }
	}
	break;
      }
    }
  }
  for(int i = 0 ; i < ss.size() ; i ++){
    cout<<ss[i]<<" "; 
  }
  cout<<endl;
}