import qualified Data.Text as Text import Control.Applicative import Data.List import Control.Arrow (<$~>)::Functor f=>f a->(a->b)->f b (<$~>)=flip (<$>) infixl 4 <$~> (.~)::(a->a->b)->(c->a)->c->c->b f .~ a=(\x y->f (a x) (a y)) infixr 9 .~ toList::String->[String] toList=(fmap Text.unpack).(Text.split (==' ')).(Text.pack) main = do{ _<-getLine; getLine<$~> (toList>>> sort>>> group>>> fmap (head&&&length)>>> maximumBy (compare.~snd)>>> fst)>>= putStrLn; }