import qualified Data.ByteString.Lazy.Char8 as C import qualified Data.IntMap.Strict as M import Data.Maybe (fromJust) appendNumber :: Int -> M.IntMap Int -> M.IntMap Int appendNumber x = M.insertWith (+) x 1 countNovelNumbers :: [Int] -> Int countNovelNumbers = M.size . M.filter (== 1) . foldr appendNumber M.empty unsafeReadInt :: C.ByteString -> Int unsafeReadInt = fst . fromJust . C.readInt main :: IO () main = print . countNovelNumbers . map unsafeReadInt . tail . C.words =<< C.getContents