main
= print $ rot13
"How can you tell an extrovert from an"
rot13 ""=""
rot13 (c:str)=crot13 c: rot13 str
crot13 c
| 'a'>=c && 'z'<=c =chr (aBaseRot+(ord 'a'))
where
aBase=(ord c)-(ord 'a')
aBaseRot
= (aBase
+13) `
mod`
26 | 'A'>=c && 'Z'<c =chr (aBaseRot+(ord 'A'))
where
aBase=(ord c)-(ord 'A')
aBaseRot
= (aBase
+13) `
mod`
26
aW1wb3J0IERhdGEuQ2hhcgoKbWFpbiA9IHByaW50ICQgcm90MTMgIkhvdyBjYW4geW91IHRlbGwgYW4gZXh0cm92ZXJ0IGZyb20gYW4iCgpyb3QxMyAiIj0iIgpyb3QxMyAoYzpzdHIpPWNyb3QxMyBjOiByb3QxMyBzdHIKCmNyb3QxMyBjCiB8ICdhJz49YyAmJiAneic8PWMgPWNociAoYUJhc2VSb3QrKG9yZCAnYScpKQogICB3aGVyZQogICAgYUJhc2U9KG9yZCBjKS0ob3JkICdhJykKICAgIGFCYXNlUm90PSAoYUJhc2UrMTMpIGBtb2RgIDI2CiB8ICdBJz49YyAmJiAnWic8YyA9Y2hyIChhQmFzZVJvdCsob3JkICdBJykpCiAgIHdoZXJlCiAgICBhQmFzZT0ob3JkIGMpLShvcmQgJ0EnKQogICAgYUJhc2VSb3Q9IChhQmFzZSsxMykgYG1vZGAgMjYKIHwgb3RoZXJ3aXNlID1j