program cypher; var i: integer; letter: char; count: integer; line: array[1..100] of char; key: integer; done: boolean; begin readln(key); done := false; while not done do begin count := 1; while (not eoln) do begin read(line[count]); count := count + 1; end; readln; if ((line[1] = 'S') and (line[2] = 'T') and (line[3] = 'O') and (line[4] = 'P') and (count = 5)) then begin done := true; end else begin for i := 1 to count-1 do begin if ((line[i] >= 'a') and (line[i] <= 'z')) then begin if (ord(line[i]) + key > ord('z')) then begin write(chr(ord(line[i]) + key - ord('z') + ord('a') -1 )); end else begin write(chr(ord(line[i]) + key)); end; end else if ((line[i] >= 'A') and (line[i] <= 'Z')) then begin if (ord(line[i]) + key > ord('Z')) then begin write(chr(ord(line[i]) + key - ord('Z') + ord('A') -1 )); end else begin write(chr(ord(line[i]) + key)); end; end else begin write(line[i]); end; end; writeln; end; end; end.