10 # (ok, i, f) = freadi f
16 # ls = sort [0:read io]
19 one ls = uncurry (*) $ foldl jolt (0, 1) [b-a\\a<-ls & b<-tl ls]
21 jolt (j1, j3) 3 = (j1, j3+1)
22 jolt (j1, j3) 1 = (j1+1, j3)
23 jolt (j1, j3) _ = (j1, j3)
25 two ls = prod [[0,1,2,4,7,12,20,33,53]!!length l\\l<-group [b-a\\a<-ls & b<-tl ls] | all ((==)1) l]