Problem:
 Score : 300 points    Problem Statement You drew lottery N times. In the i -th draw, you got an item of the kind represented by a string S_i .  How many kinds of items did you get?      Constraints  1 \leq N \leq 2\times 10^5  S_i consists of lowercase English letters and has a length between 1 and 10 (inclusive).         Input Input is given from Standard Input in the following format:  N  S_1  :  S_N       Output Print the number of kinds of items you got.        Sample Input 1 3
apple
orange
apple      Sample Output 1 2  You got two kinds of items: apple and orange .       Sample Input 2 5
grape
grape
grape
grape
grape      Sample Output 2 1       Sample Input 3 4
aaaa
a
aaa
aa      Sample Output 3 4

Solution (Python):
n,s= int(input()),set()
for i in range(n) :
    a = input()
    s.add(a)
    pass
print(len(s))

Solution (Python):
import collections
n = int(input())
a = [input() for i in range(n)]
list_a = list(a)
c = collections.Counter(a)

print(len(c))

Solution (Python):
import collections
i = int(input())
p = [input() for p in range(i)]
B = collections.Counter(p)

print(len(set(B)))

Solution (Python):
n=int(input())
s=set()
while n:
    str=input()
    if str not in s:
        s.add(str)
    n-=1
print(len(s))

Solution (Python):
n = int(input())
S = [input() for i in range(n)]

S.sort()


count = 1

for i in range(1, n):
    if S[i - 1] != S[i]:
        count = count + 1

print(count)

Solution (Python):
def hahaha():
    n=int(input())
    count=1
    list=[]
    for i in range(0,n):
        list.append(str(input()))
    list.sort()
    a=list[0]
    for j in range(0,n):
        if a!=list[j]:
            a=list[j]
            count+=1
    print(count)
if __name__ == '__main__':
    hahaha()

Solution (Python):
import collections
n = int(input())
s = [input() for i in range(n)]
c = collections.Counter(s)
print(len(c))

Solution (Python):
N = int(input())
S = [input() for _ in range(N)]
print(len(set(S)))

Solution (Python):
import collections

N = int(input())
S = [input() for i in range(N)]

A = collections.Counter(S)

print(len(A))

Solution (Python):
N = int(input())
a = []
for i in range(N):
    S = input()
    a.append(S)
print(len(set(a)))

Solution (Python):
n = int(input())
txt = []
for _ in range(n):
    txt.append(input())

a = list(set(txt))
print(len(a))

Solution (Python):
def io():
  s = set()
  N = int(input())
  for i in range(N):
    S = input()
    s.add(S)
  print(len(s))
  
if __name__=='__main__':
  io()

Solution (Python):
n = int(input())
a = [input() for i in range(n)]
a.sort()
print(len(set(a)))

Solution (Python):
import sys
import collections

n = int(input())
s=[]
for i in range(n):
  s.append(input())


c = collections.Counter(s)



ans_list = list(c.values())
ans=0
for i in range(len(ans_list)):
  if ans_list[i]>=2:
    ans+=1
  else:
    ans+=1
    
print(ans)

Solution (Python):
n = int(input())
str_list = [input() for _ in range(n)]
ans_list = list(set(str_list))

print(len(ans_list))

Solution (Python):
import sys
import collections

n = int(input())
s=[]
for i in range(n):
  s.append(input())


c = collections.Counter(s)



ans_list = list(c.values())
ans=0
for i in range(len(ans_list)):
  if ans_list[i]>=2:
    ans+=1
  else:
    ans+=1
    
print(ans)

Solution (Python):
n = int(input())
print(len(set([input() for _ in range(n)])))

Solution (Python):
i = int(input())
x = set()
for j in range(i):
    x.add(str(input()).lower())
print(len(x))

Solution (Python):

n=input()
s=set()
for i in range(1,int(n)+1):
    s.add(input())
print(len(s))

Solution (Python):
n = int(input())
s = []
for _ in range(n):
    s.append(input())
print(len(set(s)))

Solution (Python):
get_num=int(input())
get_list=[]
count=0

for i in range(get_num):
    tmp=input()
    get_list.append(tmp)

list=list(set(get_list))
    
print(len(list))

Solution (Python):
n = int(input())
li=[input() for i in range(n)]
print(len(set(li)))

Solution (Python):
n=int(input())
r=1
l=[]
for i in range(n):
  l.append(input())
l.sort()
for i in range(n-1):
  if l[i]!=l[i+1]:
    r+=1
  
print(r)

Solution (Python):
import sys
import re

N = int(input())
A = sys.stdin.readlines()

A = [b.strip() for b in A]


print(len(list(set(A))))

Solution (Python):
n = int(input())
s = []

for i in range(n):
    s.append(input())

s_set = set(s)
s_list = list(s_set)
print(len(s_list))

Solution (Python):
n = int(input())
l = []
for _ in range(n):
  l.append(input())
l = set(l)
print(len(l))

Solution (Python):
n = int(input())
l = []
for i in range (n):
    t = input()
    l.append(t)
print(len(set(l)))

Solution (Python):

n = int(input())
seq = []

for i in range(n):
    s = input()
    seq.append(s)
    
print(len(set(seq)))

Solution (Python):
n = int(input())
s = [""]*n
for i in range(n):
  si = str(input())
  s[i] = si
s.sort()
c = 0
s.append("A")
for i in range(n):
  if s[i] != s[i+1]:
    c += 1
print(c)

Solution (Python):
N = int(input())

l = []

for i in range(N):
    l.append(input())

print(len(set(l)))

Solution (Python):
N = int(input())
S= [input() for i in range(N)]

print(len(set(S)))

Solution (Python):
n = int(input())

l = list()
c = 0

for i in range(n):
    x = input()
    l.append(x)

l = set(l)
print(len(l))

Solution (Python):


if __name__ == "__main__":
    N = int(input())

    fruits = []

    for i in range(N):
        fruits.append(input())

    print(len(set(fruits)))

Solution (Python):
N = int(input())
c = []
for i in range(N):
    b = input()
    c.append(b)
d = set(c)
print(len(d))

Solution (Python):
N=int(input())
num=[input() for i in range(N)]
num_a=list(set(num))

print(len(num_a))

Solution (Python):
s = []
for _ in range(int(input())):
	s.append(input())
print(len(set(s)))

Solution (Python):
n = int(input())
ls = [input() for i in range(n)]
print(len(set(ls)))

Solution (Python):
import collections

N = int(input())
S = [input() for i in range(N)]

c = collections.Counter(S)
print(len(c))

Solution (Python):
N=int(input())
K=[]
z=0
for x in range(N):
    k=input()
    K.append(k)
T=set(K)
y=len(T)
print(y)

Solution (Python):
n = int(input())  

a = []
for i in range(n):
    a.append(str(input()))

print(len(list(set(a))))

Solution (Python):
n=int(input())
s=list(input() for i in range(n))
t=set(s)

print(len(t))

Solution (Python):
N = int(input())
S = [input() for i in range(N)]
S.sort()
word = S[0]
cnt = 1
for i in range(N):
    if(word != S[i]):
        cnt += 1
        word = S[i]
print(cnt)

Solution (Python):

s = int(input())  
s_list = [input() for _ in range(s)]


ans = 0

s_list = set(s_list)

print(len(s_list))

Solution (Python):
n = int(input())
str_list = [input() for _ in range(n)]
unique = list(set(str_list))
print(len(unique))

Solution (Python):
N = int(input())
D = dict()
for i in range(N):
    S = input()
    if S not in D.keys():
        D[S] = 1
    D[S] += 1

print(len(D))

Solution (Python):
N = int(input())
P = [input() for i in range(N)]

set=set()

for i in range(N):
    set.add(P[i])

print(len(set))

Solution (Python):
from collections import Counter
N = int(input())
s = [input() for i in range(N)]
c = Counter(s)
print(len(c))

Solution (Python):
import numpy as np

N = int(input())
S = [input() for i in range(N)]

print(len(np.unique(S)))

Solution (Python):
import sys
import os

def file_input():
    f = open('../Beginner_Contest_164/input.txt', 'r')
    sys.stdin = f

def main():
    
    
    N = int(input())

    
    
    
    
    
    
    

    S = set()
    for i in range(N):
        S.add(input())

    print(len(S))

    
    
    
    
    
    
    
    
    

    
    
    
    
    
    
    
    
    

if __name__ == '__main__':
    main()

Solution (Python):
N = int(input())
l = []
k = 1
for i in range(N):
    S = input()
    l.append(S)
l.sort()
for i in range(N-1):
    if l[i] != l[i+1]:
        k += 1
    else:
        pass
print(k)

Solution (Python):



a=int(input())

s=[]
for _ in range(a):
    s.append(input())
    

print(len(set(s)))

Solution (Python):
n = int(input())
s = []
for i in range(n):
    s.append(input())
s = set(s)
print(len(s))

Solution (Python):
N=int(input())
List=[input() for i in range(N)]
print(len(list(set(List))))

Solution (Python):
lottory_drew = int(input())
words = []

for word in range(lottory_drew):
    words.append(input())

print(len(set(words)))

Solution (Python):
n = int(input())
s = []
for i in range(n):
    s.append(input())
s = set(s)
print(len(s))

Solution (Python):
lot_num = int(input())

print(len({input() for i in range(0, lot_num)}))

Solution (Python):
n=int(input())
string_list=[input() for i in range(n)]

a = list(set(string_list))

print(len(a))

Solution (Python):
N=int(input())
S=[input() for i in range(N)]
S=[x for x in set(S)]
print(len(S))

Solution (Python):
n = int(input())
items = []
for i in range(n):
    items.append(input())
s = set(items)
print(len(s))

Solution (Python):
s = []
N = int(input())
for i in range(N):
    S =  str(input())
    s.append(S)
import collections
c = collections.Counter(s)
print(len(c.keys()))

Solution (Python):
n = int(input())

goods = []
for i in range(n):
  goods.append(input())
  
s = set(goods)
print(len(s))

Solution (Python):
N=int(input())
S=[]
for i in range(N):
    a=input()
    S.append(a)
b=list(set(S))
print(len(b))

Solution (Python):
n=int(input())
s=set()
for i in range(n):
    a=input()
    s.add(a)
print(len(list(s)))

Solution (Python):
N = int(input())
s = {}
for i in range(N):
    k = input() 
    if k not in s.keys():
        s[k] = 1
    else:
        s[k] += 1
    
print(len(s))

Solution (Python):
import collections

N = int(input())
S = []
count = 0
for i in range(N):
  S.append(input())

count = len(collections.Counter(S))
         
print (count)

Solution (Python):

n = int(input())

s = {input() for _ in range(n)}

print(len(s))

Solution (Python):
n = int(input())
a = []
for i in range(0,n):
    s = str(input())
    a.append(s)
ans = set(a)
print(len(ans))

Solution (Python):
N=int(input())
s=['F']*N
for i in range(0,N):
    s[i]=input()
se=set(s)
print(len(se))

Solution (Python):
n = int(input())
arr = [str(input()) for _ in range(n)]
arr.sort()
ans = 1
for i in range(1, n):
    if arr[i] != arr[i - 1]:
        ans += 1
print(ans)

Solution (Python):
N=int(input())
s=['F']*N
for i in range(0,N):
    s[i]=input()
se=set(s)
print(len(se))

Solution (Python):
N = int(input())
S = [input() for _ in range(N)]
print(len(set(S)))

Solution (Python):
import collections
N = int(input())

dict = {}

for i in range(N):
    s = input()
    if(s not in dict.keys()):
        dict[s] = 1
    else:
        dict[s]=dict[s]+1 

print(len(dict.keys()))

Solution (Python):
n = int(input())
s = set()
for i in range(n):
    s.add(input())
print(len(s))

Solution (Python):
import collections as col

n = int(input())
s = [input('') for i in range(n)]
prize = col.Counter(s)

print(len(prize))

Solution (Python):
n = int(input())
s = [input() for i in range(n)]
s.sort()
cnt = 1

for i in range(1, n):
    if s[i] != s[i-1]:
        cnt += 1
    
print(cnt)

Solution (Python):

N = int(input())
S = []
for i in range(N):
    s = input()
    S.append(s)    
print(len(set(S)))

Solution (Python):

N=int(input())
S = []
for i in range(0,N):
    a = input()
    S.append(a)
print(len(set(S)))

Solution (Python):
N = int(input())
S = [str(input()) for i in range(N)]

S = sorted(S)
count = 0
first = 0
removecount = 0

for i in range(N):
    j = 0
    while first + count + 1 < len(S) :
        if S[first]==S[first+1+j]:
            S[first+1+j] = "null"
            count+=1
            j += 1
        else:
            first += count + 1
            removecount += count
            count = 0
            break

print(len(S)-S.count("null"))

Solution (Python):
n=int(input())
s=set()
for i in range(n):
  s.add(input())
print(len(s))

Solution (Python):
N=int(input())
string_list=[input() for i in range(N)]

setS = set(string_list)
print(len(setS))

Solution (Python):
N = int(input())
ans_dict = {}
for i in range(N):
  S = input()
  if S not in ans_dict:
    ans_dict[S] = True
    
print(len(ans_dict))

Solution (Python):
N = int(input())
S = []
for _ in range(N):
  S.append(input())

S_cutted = list(set(S))
print(len(S_cutted))

Solution (Python):
N = int(input())
l = [input() for i in range(N)]

dict = {}

for i in l:
    if i in dict:
        dict[i] += 1
    else:
        dict[i] = 1
print(len(dict))

Solution (Python):
N = int(input())
List = [input() for i in range(N)]
List.sort()

s = 1
for i in range(N-1):
  if List[i+1]==List[i]:
    s = s
  else:
    s = s+1
    
print(s)

Solution (Python):
n=int(input())
List = [input() for i in range(n)]
d=set(List)
print(len(d))

Solution (Python):
n = int(input())
S = [input() for _ in range(n)]

import hashlib
base1 = 1007
mod1 = 10**9+7
dic = {}

for s in S:
  hs = hashlib.md5(s.encode()).hexdigest()
  dic.setdefault(hs, s)

print(len(dic))

Solution (Python):

N=int(input())
S=[0]*N
for i in range(N):
    S[i]=input()
    
a=set(S)
print(len(a))

Solution (Python):
import numpy as np
N=int(input())
S_list = np.zeros(N)

e_list = "abcdefghijklmnopqrstuvwxyz"

for i in range(N):
  s = input()
  n = 0
  for k in range(len(s)):
    n = n + (e_list.index(s[k])+1)*(100**k)
  S_list[i] = n
print(len(np.unique(S_list)))

Solution (Python):
n = int(input())
s = [input() for i in range(n)]
print(len(set(s)))

Solution (Python):
N = int(input())
S = []
c = 0
for i in range(N):
	S.append(input())

S = list(set(S))
print(len(S))

Solution (Python):
import collections
kind = 0
List = []
n = int(input())
List = [input() for _ in range(n)]
d = collections.Counter(List)

for i in d.keys():
    kind += 1
print(kind)

Solution (Python):
num = int(input())
words = [input() for i in range(num)]
print(len(set(words)))

Solution (Python):
Row = int(input())
List = [(input()) for i in range(Row)]
S = set(List)
print(len(S))

Solution (Python):
N = int(input())
d = {}
for i in range(N):
  d[input()] = 1
print(len(d))

Solution (Python):
N = int(input())
set_ = set({})
for i in range(N):
    set_.add(input())
print(len(set_))

Solution (Python):
n = int(input())
arr = [str(input()) for _ in range(n)]
arr.sort()
ans = 1
for i in range(1, n):
    if arr[i] != arr[i - 1]:
        ans += 1
print(ans)

Solution (Python):
cnt = int(input())
lst = []
for i in range(cnt):
  lst += [input()]
print(len(set(lst)))

Solution (Python):
N = int(input())
ls = []
for x in range(N):
    ls.append(input())
print(len(set(ls)))

Solution (Python):
from collections import Counter
n = int(input())
lst = []
for i in range(n):
    s = input()
    lst.append(s)
z = (Counter(lst))
print(len(z))

Solution (Python):
n = int(input())
st = []

for i in range (n):
    s = str(input())
    st.append(s)
  
print(len(set(st)))

Solution (Python):
from collections import Counter

N = int(input())
S = []
for i in range(N):
    S.append(input())

cnt = Counter(S)


print(len(cnt.keys()))

Solution (Python):
N=int(input())
S=list([input() for i in range(N)])


D=list(set(S))

e=len(D)
print(int(e))

Solution (Python):
n=int(input())
list=[]
for _ in range(0,n):
  list.append(input())
print(len(set(list)))

Solution (Python):
n = int(input())
l = list()
for i in range(n):
    s = str(input())
    l.append(s)

l_unique=list(set(l))
print(len(l_unique))

Solution (Python):
import collections
N = int(input())
S = list()
for n in range(N):
  S.append(input())
c = collections.Counter(S)
C = len(c)
print(C)

Solution (Python):
N = int(input())
S = {input() for _ in range(N)}
print(len(S))

Solution (Python):
S = int(input())
l = []
for i in range(S):
    l.append(input())

print(len(list(set(l))))

Solution (Python):
n = int(input())
ss = set()
for i in range(n):
    temp = input()
    if temp in ss:
        next
    else:
        ss.add(temp)
        
print(len(ss))

Solution (Python):
n = int(input())
keihinn_list = []
for i in range(n):
    keihinn_list.append(input())
keihinn_list = set(keihinn_list)

print(len(keihinn_list))

Solution (Python):
N=int(input())
a=[0]*(N)
c=0
for i in range (N):
    S=input()
    a[i]=S
c=len(set(a))
print(c)

Solution (Python):
input_n = input()
count = int(input_n)

list = []

for value in range(count):
    tmp = input()
    list.append(tmp)

myset = set(list)
print(len(myset))

Solution (Python):
n = int(input())
s = [0] * n
for i in range(0,n):
    s[i] = input()

mylist = list(dict.fromkeys(s))

print(len(mylist))

Solution (Python):
N = int(input())
S = []

for num in range(N):
  S.append(input())


S.sort()
result = 1

for num in range(len(S)-1):
  if (S[num] != S[num+1]):
    result += 1

print(result)

Solution (Python):
n=int(input())
s={input():"0" for _ in range(n)}
print(len(s))

Solution (Python):
n=int(input())
l={}
l1=[]
c=0
for i in range(n):
    l.__setitem__(input(),i)



print(len(l))

Solution (Python):
N = int(input())

S = [input() for i in range(N)]
    
S_unique = list(set(S))
print(len(S_unique))

Solution (Python):
def gacha():
    num = int(input())
    pre = {}
    for i in range(0, num):
        a = input()
        if a in pre.keys():
            pre[a]+=1
        else:
            pre[a]=1
    print(len(pre.keys()))
gacha()

Solution (Python):
N=int(input())
ans=N
S=[input() for i in range(N)]
S.sort()
for i in range(N-1):
    if S[i]==S[i+1]:
        ans=ans-1
    else:
        pass
print(ans)

Solution (Python):
N = int(input())
lst = []
for i in range(1,N+1):
    lst.append(input())
print(len(set(lst)))

Solution (Python):
N = int(input())
S = []

for _ in range(N):
    S.append(input())  

print(len(list(set(S))))

Solution (Python):


N = int(input())









K = {}

for i in range(N):
  S = input()
  if S in K:
    K[S] = K[S] + 1
  else:
    K[S] = 1


print(len(K))

Solution (Python):
import numpy as np
N = int(input())
S = [0] * N
ans = 0
for i in range(N):
    S[i] = input()
print(len(np.unique(S)))

Solution (Python):
n = int(input())
list = []
for i in range(0, n):
    a = input()
    list.append(a)
print(len(set(list)))

Solution (Python):
N = int(input())
s = [input() for _ in range(N)]

print(len(set(s)))

Solution (Python):
N =int(input())
S = [input() for i in range(N)]
ans = len(set(S))
print(ans)

Solution (Python):
def gacha():
    num = int(input())
    pre = {}
    for i in range(0, num):
        a = input()
        if a in pre.keys():
            pre[a]+=1
        else:
            pre[a]=1
    print(len(pre.keys()))
gacha()

Solution (Python):
N=int(input())
a=[]
for i in range(N):
    a.append(input())
print(len(set(a)))

Solution (Python):
from collections import Counter 
N = int(input())
S = []
for i in range(N):
    S.append(input())
print(len(Counter(S)))

Solution (Python):
N = int(input())
S = []
for num in range(0,N):
    S.append(input())
print(len(set(S)))

Solution (Python):
N = int(input())
S = sorted(list(input() for i in range(N)))
cnt = 0
for i in range(1, N):
    if(S[i-1] != S[i]):
        cnt += 1
print(cnt + 1)

Solution (Python):
N = int(input())

S = []
cnt = 0
for n in range(N):
  temp = input()
  S.append(temp)

S = set(S)
print(len(S))

Solution (Python):
N = int(input())

WL = []
for i in range(N):
    WL.append(input())

print(len(set(WL)))

Solution (Python):
from sys import stdin
import numpy as np
n = int(stdin.readline().rstrip())
data = [stdin.readline().rstrip().split() for _ in range(n)]
print(len(set(np.array(data).reshape(-1,))))

Solution (Python):
n = int(input())

str_list = []

for i in range(n):
  str_list.append(input())

spe_list = set(str_list)
print(len(spe_list))

Solution (Python):
import sys
import math
import bisect

def main():
    A = []
    for _ in range(int(input())):
        A.append(input())
    print(len(set(A)))

if __name__ == "__main__":
    main()

Solution (Python):
k = int(input())
MyList = []
for l in range(k):
    MyList.append(input())
print(len(set(MyList)))

Solution (Python):
n = int(input())

s = [input() for i in range(n)]

from collections import Counter
 

mycounter = Counter(s)
print(len(mycounter))

Solution (Python):
n = int(input())
l = []
for i in range(n):
    l.append(input())
print(len(list(set(l))))

Solution (Python):
n = int(input())
s = set(list(input() for _ in range(n)))
print(len(s))

Solution (Python):
n = int(input())
s = [""] * n
for i in range(n):
    s[i] = input()
s = set(s)
print(len(s))

Solution (Python):
import sys
stdin = sys.stdin

ns = lambda: stdin.readline().rstrip()
ni = lambda: int(stdin.readline().rstrip())
nm = lambda: map(int, stdin.readline().split())
nl = lambda: list(map(int, stdin.readline().split()))


x = ni()
s= [[[] for j in range(26)] for i in range(26)]
sum=0
for i in range(x):
    si=ns()
    sn1=ord(si[0:1])-97
    if len(si)==1:
        sn2=0
    else:
        sn2 = ord(si[1:2]) - 97
    if si not in s[sn1][sn2]:
       s[sn1][sn2].append(si)
for s1 in s:
    for s2 in s1:
        sum+=len(s2)
print(sum)

Solution (Python):
import collections

N = int(input())
str_list = [input() for _ in range(N)]

c = collections.Counter(str_list)
print(len(c))

Solution (Python):
import collections

max = int(input())
freebie = [input() for _ in range(max)]

collection = collections.Counter(freebie)
print(len(collection))

Solution (Python):
import array

N=int(input())
arr=[input() for _ in range(N)]
dic={}
for i in range(N): 
 if arr[i] not in dic:
   dic[arr[i]]=1
 else:
   dic[arr[i]]+=1
count=0
for k in dic.keys():
    count=count+1
print(count)

Solution (Python):
n = input()
S = []
for i in range(0,int(n)):
    i = input()
    S.append(i)
print(len(set(S)))

Solution (Python):
N = int (input())

s = [input() for i in range(N)]

list = set(s)

length = len(list)

print(length)

Solution (Python):
n=int(input());print(len(set([input() for _ in range(n)])))

Solution (Python):
s=[]
n=int(input())

for i in range(n):
	s.append(input())

l=[]
l=list(set(s))
print(len(l))

Solution (Python):
n=int(input())
l=[input() for i in range(n)]
print(len(list(set(l))))

Solution (Python):

N = int(input())
S = {input() for i in range(N)}

print(len(S))

Solution (Python):
import collections

N = int(input())
l = [input() for i in range(N)]
print(len(collections.Counter(l)))

Solution (Python):
kaisu = int(input())
keihin = [input() for i in range(kaisu)]
shurui = set(keihin)
print(len(shurui))

Solution (Python):

from collections import Counter
a = int(input())

list = [input() for i in range(a)]

print(len(Counter(list)))

Solution (Python):
n = int(input())
s = []
for i in range(n):
    s.append(input())

print(len(set(s)))

Solution (Python):

import collections
N = int(input())

S = [0] * N

for i in range(N):
  S[i] = input()

c = collections.Counter(S)
print(len(c))

Solution (Python):
import collections
N = int(input())
l = [input() for _ in range(N)]
import collections
c = collections.Counter(l)

print(len(c))

Solution (Python):
import numpy as np
import math
import scipy as sp
import queue
import collections

MOD = 10 ** 9 + 7
INF = 10 ** 9

def main(kwargs):
    S = kwargs["S"]
    res = len(collections.Counter(S))
    return res

if __name__ == "__main__":
    kwargs = {}

    cin = input().split()
    
    
    kwargs["n"] = [int(i) for i in cin][0]
    

    kwargs["S"] = []
    for i in range(kwargs["n"]):
        cin = input().split()
        s = cin[0]
        
        
        
        kwargs["S"].append(s)

    cout = main(kwargs)
    print(cout)

Solution (Python):
N = int(input())
S = set()
for i in range(N):
  S.add(input())
print(len(S))

Solution (Python):
n = int(input())
s = {input() for i in range(n)}

print(len(s))

Solution (Python):
N=int(input())
k=[]

for _ in range(N):
    s=input()
    k.append(s)

s_l=set(k)

print(len(s_l))

Solution (Python):
n = int(input())
s = []

for i in range(n):
    tmp = str(input())
    s.append(tmp)

print(len(set(s)))

Solution (Python):
firstint = int(input())
inputary = [input() for i in range(firstint)] 
dif = set(inputary)

print(len(dif))

Solution (Python):

kaisuu = int(input())
getprizelist = {}
for i in range(kaisuu):
    keihin = input()
    if keihin not in getprizelist:
        getprizelist[keihin] = i
print(len(getprizelist))

Solution (Python):
n=int(input())
g=[]
for i in range(n):
  gi=input()
  g.append(gi)  
g.sort()
count=1
for i in range(n-1):
  if g[i]!=g[i+1]:
    count+=1

print(count)

Solution (Python):

import collections
list = []

n = int(input())
for i in range(n):
    s = input()
    list.append(s)

c = collections.Counter(list)

print(len(c))

Solution (Python):
N = int(input())
S = []
for _ in range(N):
  S.append(input())
result = list(set(S))
print(len(result))

Solution (Python):


n = int(input())
ln = set()
for i in (range(n)):
    stn = input()
    if stn in ln:
        pass
    else:
        ln.add(stn)
print(len(ln))

Solution (Python):
n=int(input())
s=[input() for _ in range(n)]

print(len(set(s)))

Solution (Python):
N = int(input())
List = []
for x in range(N):
    List.append(input())
Set_list = set(List)
print(len(Set_list))

Solution (Python):
n = int(input())
s = [input() for i in range(n)]

print(len(set(s)))

Solution (Python):
N = int(input())
S =[]
for i in range(N):
    S.append(input())
print(len(set(S)))

Solution (Python):
N = int(input())
S = set()
for i in range(N):
    S.add(input())
print(len(S))

Solution (Python):
list1 =[]
number = int(input())
for i in range(0,number):    
    numbers = input()
    list1.append(numbers)
setOfMarks=set(list1)
print(len(setOfMarks))

Solution (Python):
n = input()
n = int(n)
s = set()
for i in range(n):
	x = input()
	s.add(x)
print(len(s))

Solution (Python):
a, lists = int(input()), []
for x in range(a):
    lists.append(input())
print(len(list(set(lists))))

Solution (Python):
n = int(input())
lst=[input() for i in range(n)]

print(len(set(lst)))

Solution (Python):
n = input()
l = []
for i in range(int(n)):
 a = input()
 l.append(a)
print(len(set(l)))

Solution (Python):
n = int(input())
s = [input() for _ in range(n)]
print(len(set(s)))

Solution (Python):
N = int(input())
S = []
ci = 1
for i in range(N):
    S.append(input())
S.sort()
for i in range(N-1):
    if S[i] !=  S[i +1]:
        ci +=1


print(ci)

Solution (Python):
import collections
N = int(input())
S = [input() for i in range(N)]
c = collections.Counter(S)
print(len(c))

Solution (Python):
n = int(input())
test = set([input() for i in range(n)])
print(len(test))

Solution (Python):
nums = int(input())
lst = [None for _ in range(nums)]

for i in range(nums):
    lst[i] = input()
lst2 = set(lst)

print(len(lst2))

Solution (Python):
import collections
N=int(input())
S=[]
for _ in range(N):
    S.append(input())
c_list=collections.Counter(S)
print(len(c_list.values()))

Solution (Python):

N = int(input())
S = []
cnt = 0


for i in range(N):
    S.append(input()) 

S.sort()
for i in range(0,N-1):
    if (S[i] == S[i+1]):
        cnt += 1

ans = N - cnt



print(ans)

Solution (Python):
n = int(input())
S = [input() for _ in range(n)]
print(len(set(S)))

Solution (Python):
N=int(input())



l=list()
while N>0:
    l.append(input())
    N=N-1
l2=list(set(l))
print(len(l2))

Solution (Python):
n=int(input())
slist=[]
var=0
for a in range(n):
  s=input()
  slist.append(s)
sset=set(slist)
print(len(sset))

Solution (Python):
N = int(input())
prize = []
for i in range(N):
    prize.append(input())

print(len(set(prize)))

Solution (Python):
import collections
N = int(input())
S = []
for i in range(N):
    S.append(input())
c = collections.Counter(S)
print(len(c))

Solution (Python):
n = int(input())
l = [input() for _ in range(n)]
o = l[0:n+1]

print(len(list(set(o))))

Solution (Python):
N = int(input())
a = []

for i in range(N):
  a.append(input())
  
b = set(a)
print(len(b))

Solution (Python):
n=int(input())
d={}
while(n):
    n=n-1
    s=input()
    d[s]=1
count=0
for key,value in d.items():
    if(value>=1):
        count=count+1
print(count)

Solution (Python):
num=int(input())
list0=[]
for i in range(num):
  date=input()
  list0.append(date)
list0=set(list0)
print(len(list0))

Solution (Python):
n = int(input())
s = [input() for i in range(n)]
print(len(set(s)))

Solution (Python):
N = int(input())
List = []
for x in range(N):
    List.append(input())
Set_list = set(List)
print(len(Set_list))

Solution (Python):
time = int(input())

wordCount = {}
ans  = 0
for i in range(time):
    word = input()
    if word not in wordCount:
        wordCount[word] = 1
        ans += 1;
    else:
        wordCount[word] += 1

print(ans)

Solution (Python):
import collections

Row = int(input())
List = [input() for i in range(Row)]
 
c=collections.Counter(List)

  
print(len(list(c.keys())))

Solution (Python):
N = int(input())
item = set()
for i in range(N):
    item.add(input().strip())

print(item.__len__())

Solution (Python):
M = int(input())
P = [input() for i in range(M)]
print(len(set(P)))

Solution (Python):
s = int(input())

k = set()
for i in range(s):
  df = input()
  k.add(df)
print(len(k))

Solution (Python):
N = int(input())
s = [str(input()) for i in range(N)]
s = set(s)
print(len(s))

Solution (Python):
import math
import sys
 
 
def main():
  n=int(input())
  string_list=[input() for i in range(n)]
  string_list_unique = list(set(string_list))
  print(len(string_list_unique))
 
 
if __name__ == "__main__":
    main()

Solution (Python):
import collections

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

c = collections.Counter(S)

print(len(c))

Solution (Python):
n=int(input())
s=[input() for i in range(n)]
s.sort()
d=0
for i in range(n-1):
    if s[i+1]==s[i]:
        d=d+1
print(n-d)

Solution (Python):
import collections

s=input()
l = [input() for i in range(int(s))]
c = collections.Counter(l)
print(len(c))

Solution (Python):
N = int(input())
A = []
for _ in range(N):
  A.append(input())
B = list(set(A))
print(len(B))

Solution (Python):
n = int(input())

dict={}
for i in range(n):
    dict.setdefault(input())
print(len(dict)) 






'''


a = int(input())

b, c = map(int, input().split())

s = input()

print('{} {}'.format(a+b+c, s))
'''

Solution (Python):
N = int(input())
c = []
for i in range(N):
  c.append(input())

l = set(c)
print(len(l))

Solution (Python):
from collections import Counter
x = input()
x = int(x)
li = list()
for i in range(x):
    li.append(input())
print(len(Counter(li).keys()))

Solution (Python):
import collections

N = int(input())
S = [str(input()) for i in range(N)]

c = collections.Counter(S)

print(len(c))

Solution (Python):
a = list(map(int, input().split()))
b = [input() for i in range(a[0])]
c = set(b)
print(len(c))

Solution (Python):
import math

I = int(input())









list = [input() for i in range(I)]
print(len(set(list)))

Solution (Python):
import collections
N = int(input())
S = [input() for i in range(N)]

c = collections.Counter(S)

print(len(c.keys()))

Solution (Python):

def c():
    n = int(input())
    s = ['']*n
    for i in range(n):
        s[i] = input()
    s.sort()
    count = 1
    for i in range(1, n):
        if s[i - 1] != s[i]:
            count += 1
    print(count)

def b():
    a,b,c,d = map(int, input().split())
    while True:
        c -= b
        if c <= 0:
            print('Yes')
            break
        a -= d
        if a <= 0:
            print('No')
            break

def a():
    s, w = map(int, input().split())
    if w >= s:
        print('unsafe')
    else:
        print('safe')



c()

Solution (Python):
N = int(input())
lst = []
a = 1
while True :
    A = str(input())
    lst.append(A)
    if a >= N :
        break
    else :
        pass
    a += 1
newlist = list(dict.fromkeys(lst))
print(len(newlist))

Solution (Python):
A = int(input())
s = [input() for i in range(A)]
count = len(set(s))
print(count)

Solution (Python):
import os

N = input()
S = set() 
N = int(N)
count = 0
for i in range(int(N)):
    tmp = input()
    if (tmp in S) == False:
        count += 1
    S.add(tmp)


print (count)