import Data.List x?y=x+signum(y-x) v i[a,b]=i$w(==)a b m=map;l=length;f=filter;w=zipWith z a|(x,_:y)<-break(<'.')a=m read[x,y] n[f,d]|v and[f,d]=[f]|let=f:n[w(?)f d,d] main=interact$show.m(l.f(>1).m l.group.sort.(n=<<)).(\x->[x,f(v or)x]).m(m z.f(>".").words).lines