8 getinput :: [Char] *File -> [[Char]]
10 # (ok, c, f) = freadc f
11 | not ok = if (a =: []) [] [reverse a]
12 | c == '\n' = [reverse a:getinput [] f]
15 parse :: [Char] -> [(Int, Int)]
16 parse c = case split " " (toString c) of
18 # [offsetx:offsety:_] = split "," offset
19 # offsety = offsety % (0, textSize offsety-2)
20 # [sizex:sizey:_] = split "x" size
22 \\x<-[toInt offsetx+1..toInt offsetx+toInt sizex]
23 , y<-[toInt offsety+1..toInt offsety+toInt sizey]
29 = length [c\\c<-group $ sort $ flatten $ map parse $ getinput [] io | length c > 1]