find-the-students-5

Regional College is having N branches, where each branches have positive integral student. A minimize operation is performed on the branch such that all of them are reduced by the minimum number student in a branch.

Suppose we have 5 branches and all of them have below students in a branch.

5 2 4 2 6

Then in one minimize operation we reduce all the branch by 2 students. For next minimize operation 3 branch are left (have non-zero student), whose value are

3 2 4

Above step is repeated till no students are left in all branches.

Given students of N branches, print the number of student that are reduce in subsequent minimize operation.

Input Format

The first line contains a single integer N.

The next line contains N integers : X(0), X(1), X(2),..... X(N-1) separated by space, where X(i) represents the student of ith branch.

Output Format

For each minimize operation, print the number of students that are reduced in branches in separate line.

Constraints

1 ≤ N ≤ 1000

1 ≤ X(i) ≤ 1000

SAMPLE INPUT
6
5 4 4 2 2 8

SAMPLE OUTPUT
6
4
2
1

Source: hackerearth | Difficulty: UNKNOWN_DIFFICULTY


Solutions:
n=eval(input())
s=input()
lst=s.split(' ')
ar=[0]*n
for i in range(0,n):
	ar[i]=int(lst[i])
ar.sort()

cnt=1
mn=ar[0]
print(len(ar))
while(cnt!=0):
	cnt=0
	for i in range(0,n):
		ar[i]=ar[i]-mn
		if(ar[i]>0):
			cnt=cnt+1
	for i in range(0,n):
		if(ar[i]>0):
			mn=ar[i]
			break
	if(cnt>0):
		print(cnt)



'''
# Read input from stdin and provide input before running code

name = raw_input('What is your name?\n')
print 'Hi, %s.' % name
'''
n = int(input())
l = input().split(' ')
l = list(map(int, l))

m = min(l)
while(m>0):
	d=0
	for x in range(len(l)):
		t = l[x]
		if(t<0):
			continue
		elif(t<=m):
			d+=1
			l[x] = l[x] - m

		else:
			d+=1
			l[x] = l[x] - m
	k = []
	for x in l:
		if(x>0):
			k.append(x)
	l = k
	try:
		m = min(l)
	except:
		m= 0
	print(d)


n=eval(input())
a=sorted(map(int, input().split()))
i=0
red=0
while i<len(a):
	if a[i]>red:
		print(n-i)
		red=a[i]
	i+=1	


n = input()

list = input().split();

list = [int(i) for i in list]

while True:
	minVal = min(x for x in list if x > 0)

	#print("Min Val %d" % (minVal))
	count = 0
	for index in range(0, len(list)):
		if list[index] > 0:
			newVal = list[index] - minVal
			#print("New Value %d" % (newVal))
			list[index] = newVal
			count = count + 1


	print(count)

	finish = True
	for x in list:
		if x > 0:
			finish = False

	if finish:
		break




n = int(input())

A=  input().split()
for i in range(0,n):
	A[i] = int(A[i])

A.sort()
print(n)
for i in range(1,n):
	if(A[i]!=A[i-1]):
		print(n - i)