import Data. List
toLowOrSp x
| isLower x = x
| isUpper x = ( allChars !! ) $ unicode 'a' + unicode x - unicode 'A'
hasAllAlph
= ( == [ 'a' .. 'z' ] ) . tail . nub
. sort
. map toLowOrSp
. ( ' ' :
)
chooseTheLine ls
= snd $ head $ sort
[ ( len
, l
) | l <- ls, hasAllAlph l,
let m
= nub
$ sort
$ map toLowOrSp l
, True ]
main = do
let theLine = chooseTheLine ls
aW1wb3J0IERhdGEuTGlzdAoKYWxsQ2hhcnMgPSBlbnVtRnJvbVRvIG1pbkJvdW5kIG1heEJvdW5kIDo6IFN0cmluZwp1bmljb2RlID0gbGVuZ3RoIC4gdGFpbCAuICggZW51bUZyb21UbyBtaW5Cb3VuZCkKCmlzVXBwZXIgPSBmbGlwIGVsZW0gWyAnQScuLidaJyBdCmlzTG93ZXIgPSBmbGlwIGVsZW0gWyAnYScuLid6JyBdCgp0b0xvd09yU3AgeAogIHwgaXNMb3dlciB4ID0geAogIHwgaXNVcHBlciB4ID0gKCBhbGxDaGFycyAhISApICQgdW5pY29kZSAnYScgKyB1bmljb2RlIHggLSB1bmljb2RlICdBJwogIHwgb3RoZXJ3aXNlID0gJyAnCgpoYXNBbGxBbHBoID0gKCA9PSBbICdhJyAuLiAneicgXSApIC4gdGFpbCAuIG51YiAuIHNvcnQgLiBtYXAgdG9Mb3dPclNwIC4gKCAnICcgOiApCgpjaG9vc2VUaGVMaW5lIGxzID0gc25kICQgaGVhZCAkIHNvcnQgWyAoIGxlbiwgbCApIHwKICAgIGwgPC0gbHMsIGhhc0FsbEFscGggbCwKICAgIGxldCBsZW4gPSBsZW5ndGggbCwKICAgIGxldCBtID0gbnViICQgc29ydCAkIG1hcCB0b0xvd09yU3AgbCwKICAgIFRydWUgXQoKbWFpbiA9IGRvCiAgICBscyA8LSAoIHJldHVybiAuIGxpbmVzICkgPTw8IGdldENvbnRlbnRzCiAgICBsZXQgdGhlTGluZSA9IGNob29zZVRoZUxpbmUgbHMKICAgIHByaW50IHRoZUxpbmU=
stdin
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIGEgbGF6eSBkb2cuClRoZSBqYXksIHBpZywgZm94LCB6ZWJyYSBhbmQgbXkgd29sdmVzIHF1YWNrIQpQYWNrIG15IGJveCB3aXRoIHNldmVuIGRvemVuIGxpcXVvciBqdWdzLgpUaGUgaG9yc2UsIHBpZywgZm94LCB6ZWJyYSBhbmQgbXkgd29sdmVzIHF1YWNrIQpKYWNrZGF3cyBsb3ZlIG15IHNtYWxsIHNwaGlueCBvZiBxdWFydHouCkphY2tkYXdzIGxvdmUgbXkgYmlnIHNwaGlueCBvZiBxdWFydHouClRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciBhIGxhenkgY2F0LgpQYWNrIG15IGJveCB3aXRoIGZpdmUgZG96ZW4gbGlxdW9yIGp1Z3MuCg==
The quick brown fox jumps over a lazy dog.
The jay, pig, fox, zebra and my wolves quack!
Pack my box with seven dozen liquor jugs.
The horse, pig, fox, zebra and my wolves quack!
Jackdaws love my small sphinx of quartz.
Jackdaws love my big sphinx of quartz.
The quick brown fox jumps over a lazy cat.
Pack my box with five dozen liquor jugs.