subsequencesOfSize
:: Int -> [a
] -> [[a
]]subsequencesOfSize n xs
= let l
= length xs
in if n>l then [] else subsequencesBySize xs !! (l-n)
where
subsequencesBySize [] = [[[]]]
subsequencesBySize (x:xs) = let next = subsequencesBySize xs
main = do
c3Vic2VxdWVuY2VzT2ZTaXplIDo6IEludCAtPiBbYV0gLT4gW1thXV0Kc3Vic2VxdWVuY2VzT2ZTaXplIG4geHMgPSBsZXQgbCA9IGxlbmd0aCB4cwogICAgICAgICAgICAgICAgICAgICAgICAgIGluIGlmIG4+bCB0aGVuIFtdIGVsc2Ugc3Vic2VxdWVuY2VzQnlTaXplIHhzICEhIChsLW4pCiB3aGVyZQogICBzdWJzZXF1ZW5jZXNCeVNpemUgW10gPSBbW1tdXV0KICAgc3Vic2VxdWVuY2VzQnlTaXplICh4OnhzKSA9IGxldCBuZXh0ID0gc3Vic2VxdWVuY2VzQnlTaXplIHhzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB6aXBXaXRoICgrKykgKFtdOm5leHQpIChtYXAgKG1hcCAoeDopKSBuZXh0ICsrIFtbXV0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKbWFpbiA9IGRvCglwcmludCAkIGxlbmd0aCAkIHN1YnNlcXVlbmNlc09mU2l6ZSAzICAgWzEuLjM1MF0KCXByaW50ICQgbGVuZ3RoICQgc3Vic2VxdWVuY2VzT2ZTaXplIDE0NyBbMS4uMTUwXQ==