#import bisect,collections,copy,heapq,itertools,math,numpy,string

#from operator import itemgetter

import sys

def I(): return int(sys.stdin.readline().rstrip())

def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))

def S(): return sys.stdin.readline().rstrip()

def LS(): return list(sys.stdin.readline().rstrip().split())

N = I()

S = [S() for _ in range(N)]

dict = {}



for s in S:

	if s not in dict:

		dict[s] = 1

print((len(dict)))

#import bisect,collections,copy,heapq,itertools,math,numpy,string

#from operator import itemgetter

import sys

def I(): return int(sys.stdin.readline().rstrip())

def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))

def S(): return sys.stdin.readline().rstrip()

def LS(): return list(sys.stdin.readline().rstrip().split())

N = I()

S = [S() for _ in range(N)]

dict = {}



for s in S:

	dict[s] = 1

print((len(dict)))

# import bisect,collections,copy,heapq,itertools,math,numpy,string
# from operator import itemgetter
import sys


def I():
    return int(sys.stdin.readline().rstrip())


def LI():
    return list(map(int, sys.stdin.readline().rstrip().split()))


def S():
    return sys.stdin.readline().rstrip()


def LS():
    return list(sys.stdin.readline().rstrip().split())


N = I()
S = [S() for _ in range(N)]
dict = {}
for s in S:
    if s not in dict:
        dict[s] = 1
print((len(dict)))

# import bisect,collections,copy,heapq,itertools,math,numpy,string
# from operator import itemgetter
import sys


def I():
    return int(sys.stdin.readline().rstrip())


def LI():
    return list(map(int, sys.stdin.readline().rstrip().split()))


def S():
    return sys.stdin.readline().rstrip()


def LS():
    return list(sys.stdin.readline().rstrip().split())


N = I()
S = [S() for _ in range(N)]
dict = {}
for s in S:
    dict[s] = 1
print((len(dict)))

-    if s not in dict: -        dict[s] = 1 +    dict[s] = 1