7 getinput :: [Char] *File -> [[Char]]
9 # (ok, c, f) = freadc f
10 | not ok = if (a =: []) [] [reverse a]
11 | c == '\n' = [reverse a:getinput [] f]
16 = map (toString o map fst o filter (uncurry (==)) o zip)
18 $ filter (not o isEmpty)
23 proc [x:xs] = [[(e, x)\\e<-xs | length [()\\a<-x & b<-e | a<>b] <= 1]:proc xs]