var s: string;
flag: boolean;
i,k, len:integer;
begin
readln(s); {считали всю входную строку}
flag:=false; {признак середины слова}
for i:=1 to length(s) do
begin
{Если текущий символ - буква}
if  (upcase(s[i])>= 'A') and (upcase(s[i])<= 'Z') then
  if flag then {не первая буква слова}
   len:=len+1 {длина слова увеличивается на 1}
  else {первая буква слова}
   begin
     flag:=true;
     len:=1 {текущая длина слова = 1}
   end
else    {текущий символ - буква}
  if flag then {слово только что закончилось}
   begin
     flag:=false;


     for k:=1 to len do  {перебираем все символы слова}
        begin
           if ord(upcase(s[i-k]))-ord('A')+len >25
           then {выход за алфавит}
           {кодируем символ}
           s[i-k]:=chr(ord(s[i-k])+len-26)
           else
            s[i-k]:=chr(ord(s[i-k])+len)
        end
    end
end;
writeln(s)
end.

