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: Accepted

Solution code:
#!usr/bin/env python3
from collections import defaultdict
from collections import deque
from heapq import heappush, heappop
import sys
import math
import bisect
import random
import itertools
sys.setrecursionlimit(10**5)
stdin = sys.stdin
def LI(): return list(map(int, stdin.readline().split()))
def LF(): return list(map(float, stdin.readline().split()))
def LI_(): return list(map(lambda x: int(x)-1, stdin.readline().split()))
def II(): return int(stdin.readline())
def IF(): return float(stdin.readline())
def LS(): return list(map(list, stdin.readline().split()))
def S(): return list(stdin.readline().rstrip())
def IR(n): return [II() for _ in range(n)]
def LIR(n): return [LI() for _ in range(n)]
def FR(n): return [IF() for _ in range(n)]
def LFR(n): return [LI() for _ in range(n)]
def LIR_(n): return [LI_() for _ in range(n)]
def SR(n): return [S() for _ in range(n)]
def LSR(n): return [LS() for _ in range(n)]
mod = 1000000007

#A
def A():
    s = S()
    s[3] = "8"
    print("".join(s))
    return

#B
def B():
    n = II()
    d = IR(n)
    d.sort(reverse=True)
    b = float("inf")
    ans = 0
    for i in d:
        if i < b:
            ans += 1
            b = i
    print(ans)
    return

#C
def C():
    return

#D
def D():
    n, h = LI()
    ab = LIR(n)
    ab.sort(reverse=True)
    amax = ab[0][0]
    ab.sort(key=lambda x: x[1], reverse=True)
    ans = 0
    hp = 0
    for a,b in ab:
        if b <= amax:
            break
        ans += 1
        hp += b
        if hp >= h:
            break
    ans += max(math.ceil((h-hp)/amax),0)    
    print(ans)
    return

#E
def E():
    return

#F
def F():
    return

#G
def G():
    return

#H
def H():
    return

#Solve
if __name__ == '__main__':
    B()

Submission status: Accepted

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

Submission status: Accepted

Solution code:
print(len({input() for _ in range(int(input()))}))

Submission status: Accepted

Solution code:
N = int(input())

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

print(len(list(set(kagami_mochi))))

Submission status: Accepted

Solution code:
import sys
import bisect
input = sys.stdin.readline

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

s = set(L)
print(len(s))

Submission status: Accepted

Solution code:
N = int(input())
X = {}
for i in range(N):
  c = input()
  if c not in X:
    X[c] = 1
print(len(X))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
n=int(input())
d=[int(input()) for i in range(n)]
ans=n
d.sort()

for i in range(0,n-1):
 if d[i]==d[i+1]:
  ans-=1

print(ans)

Submission status: Accepted

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

Submission status: Accepted

Solution code:
m_list = []
for _ in range(int(input())):
    m_list.append(int(input()))

print(len(list(set(m_list))))

Submission status: Accepted

Solution code:
n = int(input())
ans = []
for i in range(n):
    uiui = input()
    if  uiui not in ans:
        ans.append(uiui)
print(len(ans))

Submission status: Accepted

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

d.sort()
count = 1

for i in range(N-1):
  if d[i+1]-d[i]>0:
    count += 1
    
print(count)

Submission status: Accepted

Solution code:
# -*- coding:utf-8 -*-

def solve():
    N = int(input())
    D = []
    for i in range(N):
        D.append(int(input()))
    D.sort()
    
    pre_d = D[0]
    ans = 1
    for i in range(1, N):
        if pre_d < D[i]:
            pre_d = D[i]
            ans += 1
    print(ans)
    

if __name__ == "__main__":
    solve()

Submission status: Accepted

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

Submission status: Accepted

Solution code:
#N個の整数のうち異なる整数は何種類か？
  
n=int(input())
list=[int(input()) for i in range(n)]
sortedlist=sorted(list)
count=n

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

print(count)

Submission status: Accepted

Solution code:
n=int(input())
li=[0]*n
for i in range(n):
  li[i]=int(input())
print(len(list(set(li))))

Submission status: Accepted

Solution code:
N = int(input())

d = []

for i in range(N):
    d.append(int(input()))

print(len(set(d)))

Submission status: Accepted

Solution code:
from sys import stdin


def main():
    N = int(stdin.readline().rstrip())
    ds = {int(stdin.readline().rstrip()) for _ in range(N)}
    print(len(ds))


if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
def ipt(N=0,switch=0):
    if N == 0:
        return list(map(int,input().split()))
    else:
        if switch==0:
            return [list(map(int,input().split())) for _ in range(N)]
        else:
            return [int(input()) for _ in range(N)]

N=int(input())
print(len(set(ipt(N,1))))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
_,*d=map(int,open(0).read().split())
print(len(set(d)))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
print(len(set([int(input()) for x in range(int(input()))])))

Submission status: Accepted

Solution code:
def main():
    n = int(input())
    d = []

    for i in range(0, n):
        d.append(int(input()))

    backet = {}
    for i in range(0, 101):
        backet[i] = 0

    for i in range(0, n):
        backet[d[i]] += 1

    count = 0
    for i in range(0, 101):
        if backet[i] > 0:
            count += 1

    print(count)


if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
n=int(input())

D=[]

for i in range(n):
  d=int(input())
  D.append(d)

c=set(D)

  
print(len(c))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
N = int(input())
d = {}

for i in range(N):
    tmp = int(input())
    d.setdefault(tmp, 0)
    d[tmp] += 1

print(len(d))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
#
# abc085 b
#
n = int(input())
m = []

for i in range(n):
    x = int(input())
    if x not in m:
        m.append(x)
print(len(m))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
import sys, os

f = lambda:list(map(int,input().split()))
if 'local' in os.environ :
    sys.stdin = open('./input.txt', 'r')

def solve():
    n = f()[0]
    a = []
    for i in range(n):
        a.append(f()[0])
    
    a = list(set(a))

    print(len(a))

solve()

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
# -*- coding:utf-8 -*-

n = int(input())
d = [input() for i in range(n)]
new_list = list(dict.fromkeys(d))
print(len(new_list))

Submission status: Accepted

Solution code:
N = int(input())
A = [int(input()) for i in range(N)]
    
A_sorted = sorted(A, reverse=True)

previous_moti_diameter = 0
count = 0

for i in A_sorted:
    
    if previous_moti_diameter == i:
        
        pass
    else:
        previous_moti_diameter = i
        count += 1
        
print(count)

Submission status: Accepted

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

Submission status: Accepted

Solution code:
def main():
  array = []
  
  size = int(input())
  for i in range(size):
    array.append(int(input()))
    
  array.sort(reverse=True)
  
  result = 1
  for i in range(len(array)-1):
    if array[i] != array[i+1]:
      result+=1
  
  print(result)
    
    
main()

Submission status: Accepted

Solution code:
times = int(input())  

data = [int(input()) for i in range(times)] 

N = data[0]

cards = data[0:]

#バブルソート
for i in range(0, len(cards), 1):
  
  for j in range(i + 1, len(cards), 1):
    
    if cards[i] < cards[j]:
      tmp1 = cards[i]
      tmp2 = cards[j]
      
      cards[i] = tmp2
      cards[j] = tmp1
      
#鏡餅を積んで行くぜ！！

print(len(set([str(x) for x in cards])))

Submission status: Accepted

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

print(len(dd))

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-
# input
a = int(input())
b = set (input() for i in range(a))

print(len(b))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
n = int(input())
b = []
for u in range(n):
    b.append(input())
a = []
r = 0
for i in b:
    if i not in a:
        a.append(i)
    
print(len(a))

Submission status: Accepted

Solution code:
N=int(input())
D=[input() for i in range(N)]
D=sorted(D)
count=1
for i in range(N-1):
    if D[i]!=D[i+1]:
        count+=1
print(count)

Submission status: Accepted

Solution code:
N = int(input())
D = list(set(int(input()) for _ in range(N)))

print(len(D))

Submission status: Accepted

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

a = list(set(a))

print(len(a))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
N = int(input())

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

d = set(d)

print(len(d))

Submission status: Accepted

Solution code:

#受け取る数の入力
N = int(input())

#N回だけinputを受け取るとき
list = [input() for _ in range(N)]

#重複した要素を取り除く
l = set(list)

#長さを出す
print(len(l))

Submission status: Accepted

Solution code:
nums = [int(input()) for _ in range(int(input()))]

print(len(set(nums)))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
# 2019/04/30
# AtCoder Beginner Contest 085 - B

# Input
n = int(input())
d = list()
for i in range(n):
    d.append(int(input()))

d.sort()

# Count kind of value
cnt = 0
sav_val = -1
for i in range(n):
    if d[i] != sav_val:
        cnt += 1
        sav_val = d[i]

# Output
print(cnt)

Submission status: Accepted

Solution code:
n = int(input())
lst = []
cnt = 0

for i in range(n):
    lst.append(int(input()))

lst.sort()

for i in range(len(lst)-1):
    if lst[i] != lst[i+1]:
        cnt += 1
    else:
        pass

print(cnt+1)

Submission status: Accepted

Solution code:
a = int(input())
mochi = []
for _ in range(a):
    mochi.append(int(input()))

print(len(set(mochi)))

Submission status: Accepted

Solution code:
n = int(input())
a = [int(input()) for _ in range(n)]

print(len(set(a)))

Submission status: Accepted

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


if __name__ == '__main__':
    main()

Submission status: Accepted

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

Submission status: Accepted

Solution code:
cnt=1
mochi=[]
import sys
X=int(input())
for i in sys.stdin.readlines():
  mochi.append(int(i.rstrip()))
mochi=sorted(mochi,reverse=True)

cnter=mochi[0]
for j in mochi:
  if cnter!=j:
    cnt+=1
    cnter=j
print(cnt)

Submission status: Accepted

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

Submission status: Accepted

Solution code:
n,*d,=map(int,open(0).read().split())
num=[0]*101
for i in range(n):
    num[d[i]]+=1
ans=0
for j in range(len(num)):
    if num[j]>0:
        ans+=1
print(ans)

Submission status: Accepted

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

Submission status: Accepted

Solution code:
# ABC085B - Kagami Mochi
import sys
input = sys.stdin.readline

n = int(input())
lst = list(map(int, [input().rstrip() for _ in range(n)]))
print(len(set(lst)))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
n = int(input())
D = set()
for i in range(n):
	D.add(int(input()))

print(len(D))

Submission status: Accepted

Solution code:
n = int(input())
num_list = [input() for i in range(n)]

bucket = {}
for i in range(1, 101):
    bucket[i] = 0
for i in range(n):
    bucket[int(num_list[i])] += 1
res = 0
for i in range(1, 101):
    if bucket[i] > 0:
        res += 1

print(res)

Submission status: Accepted

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

Submission status: Accepted

Solution code:
n = int(input())
d_list = [input() for i in range(n)]

unique_num_dict = {}
for i in range(n):
    if d_list[i] in unique_num_dict.keys():
        unique_num_dict[d_list[i]] += 1
    else:
        unique_num_dict[d_list[i]] = 1

print(len(unique_num_dict))

Submission status: Accepted

Solution code:
N = int(input())
d = [int(input()) for n in range(N)]
d2 =  sorted(d, reverse=True)
cnt = 1
i = 0
for i in range(N-1):
    if(d2[i] > d2[i+1]):
        cnt += 1
        i += 1
print(cnt)

Submission status: Accepted

Solution code:
import sys
print(len(set(sys.stdin.read().split("\n")[1:-1])))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
N = int(input())
a = [int(input()) for n in range(N)]

print(len(set(a)))

Submission status: Accepted

Solution code:
N = int(input())
km= []
for i in range(0,N):
    a = int(input())
    km.append(a)
km.sort()
km.reverse()
k=1
for j in range(0,N-1):
    if km[j]>km[j+1]:
        k=k+1
print(k)

Submission status: Accepted

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

A.sort()

t=0

for j in range(N-1):
    if A[j]<A[j+1]:
        t=t+1
t=t+1
print(t)

Submission status: Accepted

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

d_unique = list(set(d))
print(len(d_unique))

Submission status: Accepted

Solution code:
n = int(input())
d = set(map(int,[input() for _ in [0]*n]))
print(len(d))

Submission status: Accepted

Solution code:
N = int(input())
D = []
ans = []
for i in range(N):
  D.append(int(input()))

for d in D:
  if not d in ans:
    ans.append(d)

print(len(ans))

Submission status: Accepted

Solution code:
import sys

def main():
    n = int(input())
    a = [int(input()) for _ in range(n)]
    print(counter(a))

def counter(a):
    return len(set(a))

if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
n=int(input())

d=[]
for i in range(n):
    temp=int(input())
    d.append(temp)
print(len(set(d)))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
N = int(input())
a = [int(input()) for i in range(N)]

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
n=int(input())
c=0
a=list()
while c<n:
    a.append(int(input()))
    c=c+1
k=list(set(a))
print(len(k))

Submission status: Accepted

Solution code:
N = int(input())
d = [int(input()) for _ in range(N)]
d.sort()
pre = d[0]
cnt = 1
for i in d:
    if(i!=pre):
        cnt += 1
    pre = i
print(cnt)

Submission status: Accepted

Solution code:
N = int(input())
d = []
count = 1

for i in range(N):
    d.append(int(input()))

d.sort(reverse=True)

for i in range(N):
    if d[i-1] - d[i] > 0:
        count += 1

print(count)

Submission status: Accepted

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

Submission status: Accepted

Solution code:
N = int(input())
mochi = []

for i in range(N):
    mochi.append(int(input()))
    
mochi = set(mochi)

print(len(mochi))

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
N = int(input())
m = [int(input()) for _ in range(N)]
m.sort()

ans = 1
for i in range(N-1):
    if m[i+1] > m[i]:
        ans += 1
print(ans)

Submission status: Accepted

Solution code:
n = int(input())
a = map(int, [input() for i in range(n)])
b = set(a) #set === A set of non-overlapping elements
print(len(b))

Submission status: Accepted

Solution code:
n = int(input())
d = [int(input()) for _ in range(n)]

d.sort()
ans = 1

for i in range(n-1):
    if d[i] < d[i+1]:
        ans += 1
print(ans)

Submission status: Accepted

Solution code:
N=int(input())
n=[]
for i in range(N):
  n.append(int(input()))
list.sort(n,reverse=True)

num=1
for j in range(N-1):
  if n[j] > n[j+1]:
    num +=1
print(num)

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

d = list(set(d))

print(len(d))

Submission status: Accepted

Solution code:
N = int(input())
d = [0]*N
for i in range(N):
    d[i] = int(input())
d.sort(reverse=True)
bef = d[0]
ans = 1
for j in range(1, N):
    if bef > d[j]:
        ans += 1
        bef = d[j]
print(ans)

Submission status: Accepted

Solution code:
N=int(input())
d_list=map(int, list(input() for i in range (N)))

d_unique=list(set(d_list))

print(len(d_unique))

Submission status: Accepted

Solution code:
N = int(input())
*D, = [int(input()) for _ in range(N)]
print(len(set(D)))

Submission status: Accepted

Solution code:
N = int(input())
count = [False]*1000

for i in range(N):
    d = int(input())
    count[d] = True

print(count.count(True))

Submission status: Accepted

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


set = set(d)

print(str(len(set)))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
N = int(input())

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
N = int(input())
di = [int(input()) for n in range(N)]

ans = 0
ans = len(set(di))  
print(ans)

Submission status: Accepted

Solution code:
N = int(input())
di = [int(input()) for n in range(N)]

di = sorted(di, reverse=True)
ans = 0
for i in range(N):
  if i < N-1 and di[i] == di[i+1]:
    i = i + 1
    continue
  ans += 1
  
print(ans)

Submission status: Accepted

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

Submission status: Accepted

Solution code:
N=int(input())
a=[]
stage=0

for i in range(N):
    inp = int(input())
    if  inp not in a :
        a.append(inp)
        stage+=1
print(stage)

Submission status: Accepted

Solution code:
N = int(input())

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

d.sort()

counter = 1
for i in range(N-1):
    if d[i] - d[i+1] != 0:
        counter += 1
print(counter)

Submission status: Accepted

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

Submission status: Accepted

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

Submission status: Accepted

Solution code:
import sys
unique_list = []
input_list = sys.stdin.readlines()[1:]
for i in input_list:
    if i not in unique_list:
        unique_list.append(i)
print(len(unique_list))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
n = int(input())
d = [int(input()) for _ in range(n)]
mochi = sorted(set(d))
print(len(mochi))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
n=int(input())
list=[]
count=1
for i in range(n):
  list.append(int(input()))
list.sort()
tmp=list[0]
for i in range(1,n):
  if tmp==list[i]:
    continue
  else:
    count += 1
  tmp=list[i]
print(count)

Submission status: Accepted

Solution code:
# 085 B
N =int(input())
mochi =[]
for i in range(N):
    mochi.append(int(input()))
print(len(set(mochi)))

Submission status: Accepted

Solution code:
#coding: utf-8
N = int(input())
l = []
for i in range(N):
    l.append(int(input()))
l.sort()
l = list(set(l))
print(len(l))

Submission status: Accepted

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

Submission status: Accepted

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

a = 1

for i in range(n-1):
    if mochiList[i] != mochiList[i+1]:
        a+=1

print(a)

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-
n = int(input())

list = []
for i in range(n):
	new = int(input())
	if new not in list:
		list.append(new)

print(len(list))

Submission status: Accepted

Solution code:
maisu = int(input())
diameter_list = []
for _ in range(0, maisu):
    diameter_list.append(int(input()))
diameter_list.sort()
before = 0
total = 0
for diameter in diameter_list:
    if diameter > before:
        total += 1
        before = diameter
print(total)

Submission status: Accepted

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

d.sort()
uniq = list(set(d))
print(len(uniq))

Submission status: Accepted

Solution code:
N = int(input())
D = [0] * (N)

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

print(len(list(set(D))))

Submission status: Accepted

Solution code:
n = int(input())
d = set(int(input()) for i in range(n))

print(len(d))

Submission status: Accepted

Solution code:
n = int(input())
x = [input() for _ in range(n)]

print(len(set(x)))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
import collections

N = int(input())

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

print(len(collections.Counter(x)))

Submission status: Accepted

Solution code:
N = int(input())
kagami = [0]*N
for i in range(N):
  kagami[i] = int(input())
kagami_sorted = list(set(kagami))
kagami_sorted.sort()
print(len(kagami_sorted))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
N = int(input())
d = list(map(int, [input() for i in range(N)]))

print(len(set(d)))

Submission status: Accepted

Solution code:
n = int(input())
D = set()
for i in range(n):
    d = int(input())
    D.add(d)
print(len(D))

Submission status: Accepted

Solution code:
N = int(input())
D = {input() for i in range(N)}
print(len(D))

Submission status: Accepted

Solution code:
_,*s=open(0);print(len(set(s)))

Submission status: Accepted

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

Submission status: Accepted

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

print(len(d))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
def main():
    N = int(input())
    ans = []
    for _ in range(N):
        ans.append(int(input()))
    print(len(set(ans)))


main()

Submission status: Accepted

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

print(len(sorted(d, reverse=True)))

Submission status: Accepted

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

print(len(set(D)))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
N = int(input())
l = []
for n in range(N):
  l.append(int(input()))
l.sort(reverse=True)  
print(len(set(l)))

Submission status: Accepted

Solution code:
N = int(input())
d_dic = {}

for i in range(N):
    di = input()
    if di in d_dic.keys():
        d_dic[di] = d_dic[di] + 1
    else:
        d_dic[di] = 1

print(len(d_dic.keys()))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
N = int(input())
d_list = []
for i in range(N):
    di = int(input())
    d_list.append(di)

d_list.sort(reverse=True)

ex_d = d_list[0]
count = 1

for mochi_d in d_list:
    if ex_d != mochi_d:
        count += 1
    ex_d = mochi_d

print(count)

Submission status: Accepted

Solution code:
n = int(input())
d = [int(input()) for _ in range(n)]

d_unique = list(set(d))

print(len(d_unique))

Submission status: Accepted

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

A = [0] * 101
for d in D:
  A[d] = 1

print(sum(A))

Submission status: Accepted

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

li.sort()
li.reverse()
ans = 1
k = li[0]
for j in li:
  if j < k:
    ans += 1
    k = j
            

print(ans)

Submission status: Accepted

Solution code:
# -*- coding:utf-8 -*-

N = int(input())
li = []
count = 0

for i in range(N):
    li.append(int(input()))
li.sort()
while li != []:
    val = li.pop()
    li = [i for i in li if i != val]
    count += 1
print(count)

Submission status: Accepted

Solution code:
# https://atcoder.jp/contests/abc085/tasks/abc085_b
# setを使わない解き方
n = int(input().split()[0])
length_list = []

for _ in range(n):
    x = int(input().split()[0])
    length_list.append(x)

length_list = sorted(length_list)
no_dup_list = []

for i in range(len(length_list)):
    if i == len(length_list) - 1:
         no_dup_list.append(x)
    else:
        x = length_list[i]
        next_x = length_list[i + 1]
        if x != next_x:
            no_dup_list.append(x)
        else:
            continue

print(len(no_dup_list))

Submission status: Accepted

Solution code:
n = int(input().split()[0])
length_list = []
for _ in range(n):
    x = int(input().split()[0])
    length_list.append(x)

print(len(list(set(length_list))))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
N = int(input())
listD =[]
while True:
    try:
        listD.append(int(input()))
    except:
        break;

counter = 1

listD.sort()
for n in range(N-1):
    if listD[n]<listD[n+1]:
        counter += 1
print(counter)

Submission status: Accepted

Solution code:
N = int(input())
import sys
mochi = [int(i) for i in sys.stdin]
print(len(set(mochi)))

Submission status: Accepted

Solution code:
from sys import exit
# A,B,C = [int(n) for n in input().split()]
N = int(input())
s = set()
for n in range(N):
    s.add(str(input()))
print(len(s))
# S = str(input())
# L = len(S)
# T = str(input())
# exit()

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-

n = int(input())
d = [0] * n
for i in range(n):
    d[i] = int(input())

d = set(d)
d = list(d)

print(len(d))

Submission status: Accepted

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

Submission status: Accepted

Solution code:
# /usr/bin/python
# -*- coding: utf-8 -*-
#
import sys


l = []
n = int(input())
for i in range(n):
  d = int(input())
  if d not in l:
    l.append(d)

print(len(l))

Submission status: Accepted

Solution code:
n = int(input())

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