MODULE Rot13 EXPORTS Main; IMPORT Stdio, Rd, Wr; VAR c: CHAR; <*FATAL ANY*> BEGIN WHILE NOT Rd.EOF(Stdio.stdin) DO c := Rd.GetChar(Stdio.stdin); IF c >= 'A' AND c <= 'M' OR c >= 'a' AND c <= 'm' THEN c := VAL(ORD((ORD(c) + 13)), CHAR); ELSIF c >= 'N' AND c <= 'Z' OR c >= 'n' AND c <= 'z' THEN c := VAL(ORD((ORD(c) - 13)), CHAR); END; Wr.PutChar(Stdio.stdout, c); END; END Rot13.