import Data.Either m=map z=zipWith r=pure l=Left i=isRight c=isLeft e=[]:e s[]=[] s(v:t)|'.'>v=' ':s t|let=v:s t v[]=[] v s=tail(take 6 s):v(drop 6 s) d%i|i==l d=r d|let=i a=m.m.m.(%) h=any$all i x!d|h d||h(foldr(z(:))e d)=r$(x*)$sum$lefts=<z(?)a b)$drop(length(takeWhile(any c)i)-1)i w p(n,t)=head$rights$p(n#t) p(x:y)=(m read$words$s x,v$m(m(l.read).words)y) main=interact$show.((,).w q<*>w(filter i=<<)).p.lines