import Control.Monad
import Data.List

main :: IO ()
main = do
  n <- readLn
  ds <- replicateM n readLn :: IO [Int]
  print . length . duplicateDelete $ sort ds

duplicateDelete :: [Int] -> [Int]
duplicateDelete [] = []
duplicateDelete (a:ns) = case ns of
  [] -> [a]
  (b:ns')  | a == b -> duplicateDelete (a:ns')
           | otherwise -> a : duplicateDelete (b:ns')
