#include <stdio.h>
#include <string.h>
int len=0,i=0,j;char RideBack[50][85];
void MORPH() {
	for (j=0;j<=i;j++) {for (int left=0,right=strlen(RideBack[j]);left<right;left++)
		if (RideBack[j][left]>='a' && RideBack[j][left]<='z') {RideBack[j][left]=(RideBack[j][left]-'a'+len)%26+'a';}
	if (j) printf(" ");printf("%s",RideBack[j]);}
}
void blocks() {
	int left,right=strlen(RideBack[i]);for (left=1;left<=26;left++) {
		for (j=0;j<right;j++)
			if (RideBack[i][j]>='a' && RideBack[i][j]<='z') {RideBack[i][j]++;if (RideBack[i][j]>'z') RideBack[i][j]='a';}
		if (RideBack[i][0]=='t' && RideBack[i][1]=='h') {
			if (right==3 && RideBack[i][2]=='e') len=left;
			else if (right==4 && RideBack[i][2]=='i' && RideBack[i][3]=='s') len=left;
			else if (right==4 && RideBack[i][2]=='a' && RideBack[i][3]=='t') len=left;
		}
	}
}
int main() {char T;while (1) {scanf("%s",&RideBack[i]);if (scanf("%c",&T)==EOF) {blocks();MORPH();puts("");return 0;} else if (T=='\n') {blocks();MORPH();puts("");i=0,len=0;} else blocks(),i++;}}