let shift s i =
  String.map (fun c ->
      let cc = (Char.code c) in
      if cc >= 97 && cc <= 122 then (cc - 71+i) mod 26 |> (+) 97 |> Char.chr
      else c) s;;
let reg_a = Array.init 26 (fun n-> shift "this\\|the\\|that" n |> Str.regexp);;

let rec read u =
  try let line = read_line () in
      let rec find i =
        if i = 0 then ()
        else
          Array.iteri (fun j r -> if Str.string_match r line 0 then shift line (-j) |> print_endline) reg_a
      in find 26;read u
  with
    End_of_file -> ()
    in read ();;