import Control.Monad
import Data.Maybe
import qualified Data.ByteString.Char8 as BS
import Data.Array.Unboxed
import Data.Bits
import Data.List
--import qualified  Data.ByteString as B
import Data.Ord
import Data.Array.ST
-- import Data.Array.IO 
import Control.Monad.ST
-- import Data.List.Extra


bsToInt :: BS.ByteString -> Int
bsToInt = fst . fromJust . BS.readInt

main :: IO ()
main = do
 n <- bsToInt <$> BS.getLine
 s <- replicateM n BS.getLine
 let xs = sort s
 let ans = check xs 0
       where
         check [] n = n
         check [x] n = n+1
         check (x:y:xs) n
           | x == y = check (dropWhile (== x) xs) (n+1)
           | otherwise = check (y:xs) (n+1)
 print $ ans
