Problem:


Score : 200 points

Problem Statement

An X-layered kagami mochi (X ≥ 1) is a pile of X round mochi (rice cake) stacked vertically where each mochi (except the bottom one) has a smaller diameter than that of the mochi directly below it. For example, if you stack three mochi with diameters of 10, 8 and 6 centimeters from bottom to top in this order, you have a 3-layered kagami mochi; if you put just one mochi, you have a 1-layered kagami mochi.

Lunlun the dachshund has N round mochi, and the diameter of the i-th mochi is d_i centimeters. When we make a kagami mochi using some or all of them, at most how many layers can our kagami mochi have?

Constraints

1 ≤ N ≤ 100

1 ≤ d_i ≤ 100

All input values are integers.

Input

Input is given from Standard Input in the following format:

N
d_1
:
d_N

Output

Print the maximum number of layers in a kagami mochi that can be made.

Sample Input 1

4
10
8
8
6

Sample Output 1

3

If we stack the mochi with diameters of 10, 8 and 6 centimeters from bottom to top in this order, we have a 3-layered kagami mochi, which is the maximum number of layers.

Sample Input 2

3
15
15
15

Sample Output 2

1

When all the mochi have the same diameter, we can only have a 1-layered kagami mochi.

Sample Input 3

7
50
30
50
100
50
80
30

Sample Output 3

4



Sample input:
4
10
8
8
6


Sample output:
3

Submission status: Runtime Error

Solution code:
N = int(input())
d = list(set([int(input()) for _ in range(N)])
print(len(d))

Submission status: Runtime Error

Solution code:
N = int,input()
a = [int(input()) for i in range(N)]
li_uniq = list(set(a))
print(len(li_uniq))

Submission status: Runtime Error

Solution code:
n = int(input())
dat = []
for i in range(n):
  a = int(input())
  if (a in dat)!:
    dat.append(a)
print(len(dat))

Submission status: Runtime Error

Solution code:
n = int(input())
print(len(list(set(map(int, input() for i in range(n))))))

Submission status: Runtime Error

Solution code:
n = int(input())
list = input().split()
print(list(set(list)))

Submission status: Runtime Error

Solution code:
times = int(input())
num = list(map(int,[input() for _ in range(times)]))
print(len(set(num))

Submission status: Runtime Error

Solution code:
N = int(input())
d = []
for i in N:
    d.append(int(input()))
print(len(set(d)))

Submission status: Runtime Error

Solution code:
n = int(input())
print(len(set(map(int, [input() for i in range(n)]))

Submission status: Runtime Error

Solution code:
n = int(input())
d = [input() for i in range(n)]
print(set(d).count)

Submission status: Runtime Error

Solution code:
def solve(N, Y):
    for x in range(N + 1):
        for y in range(0, N - x + 1):
            z = N - x - y
            elif 10000 * x + 5000 * y + 1000 * z == Y:
                return x, y, z
    return -1, -1, -1


N, Y = list(map(int, input().split()))
x, y, z = solve(N, Y)
print('{} {} {}'.format(x, y, z))

Submission status: Runtime Error

Solution code:
N=int(input())
l = [int(input()) for i in range(1,n+1)]
print(len(set(l)))

Submission status: Runtime Error

Solution code:
N = int(imput())
a_list = []
for i in range(N):
  a_list.append(input())
a_set = set(a_list)
print(len(a_set))

Submission status: Runtime Error

Solution code:
import math as M
N=input()
List=[]
for i in range(N):
    n=int(input())
    if n not in List:
        List.append(int(input()))

print(List.count())

Submission status: Runtime Error

Solution code:
n = int(input())
d = {}
for i in range(n):
    d += int(input())

print(len(d))

Submission status: Runtime Error

Solution code:
# -*- coding: utf-8 -*-
n = int(raw_input())
l = []
for i in range(n):
  l.append(int(raw_input()))
#print(l)

flag = [0] *100
#print(flag)
for j in l:
  if flag[j] == 0:
    flag[j] = 1
#print(flag)

num = 0
for k in flag:
#  print(k)
  if k == 1:
    num += 1
print(num)

"""
##これだとエラーでる
##flag[k]だとflag[0]かflag[1]にしかならないことに注意
num = 0
for k in flag:
  print(flag[k])
  if flag[k] == 1:
    num += 1
print(num)
"""

Submission status: Runtime Error

Solution code:
n = input()
print(len(set(list(map(int, [input() for i in range(n)])))))

Submission status: Runtime Error

Solution code:
n = int(input())
print(len(set(list(map(int, [input() for i in range(n+1)])))))

Submission status: Runtime Error

Solution code:
n = input()
print(len(set(list(map(int, [input() for i in range(n+1)])))))

Submission status: Runtime Error

Solution code:
N = int(input())
d = [[i] for i in int(input())]
N = int(input())
d = [int(input()) for i in range(N)]
N = int(input())
d = [int(input()) for i in range(N)]
print(len(set(d)))

Submission status: Runtime Error

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

Submission status: Runtime Error

Solution code:
import os
import sys


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

print(len(set(a)))

Submission status: Runtime Error

Solution code:
n = int(input())
a_ = [[int(i) for i in input()] for j in range(n)]
a = set([_ for _ in a_])
print(len(a))

Submission status: Runtime Error

Solution code:
n = int(input())
a_ = [[int(i) for i in input()] for j in range(n)]
a = set([_[0][0] for _ in a_])
print(len(a))

Submission status: Runtime Error

Solution code:
a = set(float(input()) for i in range(n))
print(len(a))

Submission status: Runtime Error

Solution code:
a = []
b = []
for i in range(n):
    a.append(int(input()))

for i in range(n):
    if a[i] in b:
        continue
    else:
        b.append(a[i])
print(len(b))

Submission status: Runtime Error

Solution code:
n = int(input())
a = len(set(list(map(int,[input for i in range(n)]))))
print(a)

Submission status: Runtime Error

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

Submission status: Runtime Error

Solution code:
N = input()
d = []
for i in range(N):
    d.append(input())
print(len(list(set(d)))

Submission status: Runtime Error

Solution code:
N = input()
d = []
for i in range(N):
    a.append(input())
print(len(list(set(li)))

Submission status: Runtime Error

Solution code:
print(len(set(input() for i in range(int(input()))))

Submission status: Runtime Error

Solution code:
N=int(input())
print(len(set(input() for n in range(N)])))

Submission status: Runtime Error

Solution code:
    #枚数
    paper = int(input())
     
    #餅リスト
    moti_list  = []
    li_uniq    = []
     
    #取得
    for w in range(paper):
        paper = int(input())
     
        moti_list.append(paper)
     
    print(len(moti_list))

Submission status: Runtime Error

Solution code:
inn=int(input())
sizes = []
for i in range(inn):
  sizes.append(int(input())

ans = len(set(sizes))
print(ans)

Submission status: Runtime Error

Solution code:
count=0
k=1
j=1
i=1
N=int(input())
d=[]
d=[int(input()) for i in range(N)]
for k in range (N-1):
    for j in range(k+1,N):
         dd1=d[k]
         dd2=d[j]
         if dd1==dd2 :break
    else:count=count+1
for l in range (N-1):
    if not d[N]==d[l]:count+=1
    
print(count)

Submission status: Runtime Error

Solution code:
n=input()
n=n.remove(1)
n=list(n)
print(len(n))

Submission status: Runtime Error

Solution code:
n=input()
n=del n[0]
n=list(n)
print(len(n))

Submission status: Runtime Error

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

Submission status: Runtime Error

Solution code:
import sys
print(len(set(sys.input().read().strip().split())))

Submission status: Runtime Error

Solution code:
n=int(raw_input())
N=map(int,raw_input().split())
N.sort()
ans=1
for i in range(1,n):
	if N[i]!=N[i-1]:
		ans+=1
print ans

Submission status: Runtime Error

Solution code:
n = int(input())
mochi = [int(input()) for i in range(n)]
mochi.sort(reverse=True)

size = 0
max = 9999999999

for m in mochi:
    //print(m)
    if m < max:
        size += 1
        max = m
# 出力
print(size)

Submission status: Runtime Error

Solution code:
s = '0'
l = []
ans = 0
temp = -1
n = raw_input()
for i in range(0, n):
    s = raw_input()
    if (s != ''):
        l += [int(s)]
l.sort()
for i in range(0, len(l)):
    if(l[i] != temp):
        ans += 1
        temp = l[i]

print(ans)

Submission status: Runtime Error

Solution code:
s = '0'
l = []
ans = 0
temp = -1
while s != '' :
    s = raw_input()
    if (s != ''):
        l += [int(s)]
l.sort()
for i in range(0, len(l)):
    if(l[i] != temp):
        ans += 1
        temp = l[i]

print(ans)

Submission status: Runtime Error

Solution code:
s = '0'
l = []
ans = 0
temp = -1
while s != '' :
    s = raw_input()
    if (s != ''):
        l += [int(s)]
l.sort()
for i in range(0, len(l)):
    if(l[i] != temp):
        ans += 1
        temp = l[i]

print ans

Submission status: Runtime Error

Solution code:
# coding: utf-8
import numpy

N = input()
for i in range(N):
	N_list.append(input())


aaa = []
aaa = set(N_list)
ans = len(aaa)
print(ans)

Submission status: Runtime Error

Solution code:
# coding: utf-8
import numpy

N = input()
for i in range(N):
	N_list.append(input())

map(str,N_list)

aaa = []

aaa = set(N_list)

ans = len(aaa)


print(ans)

Submission status: Runtime Error

Solution code:
N = int(input())

lis = []

for i in range(N):
	lis.append(int(input()))
	
lis.sort(reverse = True)

for i in range(N):
	if N - 1 == i:
		break
	
	if lis.count(lis[i]) >= 2:
		del lis[i]
	

print(len(lis))

Submission status: Runtime Error

Solution code:
import collections
ds = []
N = int(input())
for _ in range(N):
    ds.append(input())
print(len(ollections.Counter(ds)))