import Control.Monad

delDupe :: ([String], [String])-> [String]
delDupe [] _ = []
delDupe ((x:xs), lst)
    | x `notElem` lst  = x : delDupe (xs, lst) 
    | otherwise        = delDupe (xs, lst)

main = do
    n <- readLn
    s <- replicateM n getLine
    print $ length $ delDupe s []