#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <map>
#include <utility>
#include <set>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <sstream>
#include <queue>
#include <cstring>
#include <functional>

using namespace std;

#define REP(i,a,b) for((i)=(a);(i)<(int)(b);(i)++)
#define rep(i,n) REP(i,0,n)
// BEGIN CUT HERE
#define foreach(itr,c) for(typeof((c).begin()) itr=(c).begin();itr!=(c).end();itr++)
template<class T> inline string toString(T x){ostringstream sout;sout<<x;return sout.str();}
// END CUT HERE

int main(){
  int i, j;
  string str;
  vector<string> data;

  while(cin >> str) data.push_back(str);
  data[data.size()-1].erase(data[data.size()-1].size()-1);

  while(1){
    rep(i,data.size()) rep(j,data[i].size()) data[i][j]--;
    rep(i,data.size()){
      if(data[i] == "this" || data[i] == "the" || data[i] == "that"){
        rep(j,data.size()){
          if(j == data.size()-1) cout << data[j] << "." << endl;
          else cout << data[j] << " ";
        }
        return 0;
      }
    }
  }

  return 0;
}