Chef is very organised in whatever he does and likes to maintain statistics of his work. Chef has expertise in web development and hence is a regular contributor on a forum. Chef sometimes makes multiple contributions in a single day.. Each day chef makes at least 1 contribution he is assigned a shade of green. The greater the number of contribution in a single day the darker shade of green he gets assigned and vice versa. Your job is to find out the number of days chef is assigned a same shade of green and print the number of times chef is assigned a unique shade of green.

-----INPUT-----
The first line of input contains an integer T denoting the number of test cases. T test cases follow.

The first line of each test case contains an integer N denoting the number of days chef has contributed towards the forum.

The next line contains N spaced integers the number of contributions chef has made if he has made any.

-----OUTPUT-----

The output will contain numbers on separate lines that show the number of individual green shades chef has earned in ascending order of intensity of the shades of green.

-----CONSTRAINTS-----
1 <= T <= 25

5 <= N <= 50

1 <= Ai <= 50

-----EXAMPLE-----Input:

1

7

20 6 5 3 3 1 1
Output:

1: 2

3: 2

5: 1

6: 1

20: 1

Difficulty: interview

Starter code:

Solutions:
from collections import Counter
t=int(input())
for i in range(t):
 k=int(input())
 l=list(map(int,input().split()))
 a=Counter(l)
 b=list(a.keys())
 b.sort()
 for x in b:
  s=str(x)+': '+str(a[x])
  print(s)

n = int(input())
from collections import Counter
for c in range(n):
 t = int(input())
 s = list(map(int, input().strip().split()))
 count = dict(Counter(s))
 for k in sorted(count.keys()):
  answer = str(k) + ': ' + str(count[k])
  print(answer)

for j in range(int(input())):
 n=int(input())
 l=list(map(int, input().split()))
 for k in range(min(l), max(l)+1):
  tmp = l.count(k)
  if tmp>0:
   print("%d: %d" % (k,tmp))

take=lambda : input().strip()
cal=lambda : list(map(int,take().split()))
from math import sqrt
T=int(take())
for _ in range(T):
 N=take()
 alpha={}
 s=list(cal())
 for i in s:
  if i in alpha:
   alpha[i]+=1
  else:
   alpha[i]=1
 for e in sorted(alpha.keys()):
  print(str(e)+': '+str(alpha[e]))

t=int(input().strip())
for test in range(t):
 n=int(input().strip())
 word=list(map(int,input().strip().split(" ")))
 word=sorted(word)
 i=0
 ab=[]
 while(i<len(word)):
  if word[i] not in ab:
   ab.append(word[i])
   print(str(word[i])+": "+str(word.count(word[i])))
  i=i+1
 


t = int(input())
r=0
while t:
 t-=1
 n = int(input())
 a = input().split()
 a = [int(i) for i in a]
 x=max(a)
 for i in range(x+1):
  cnt = a.count(i)
  if cnt:
   print(str(i)+":",cnt)
   
 


from collections import *
for t in range(int(input())):
 n = int(input())
 a = list(map(int, input().split()))
 c = Counter()
 for e in a:
  c[e] += 1
 for k,v in sorted(c.items()):
  print(str(k)+':', v)


# your code goes here
t=int(input().strip())
while t:
 n=int(input().strip())
 li=list(map(int,input().strip().split()))
 di={}
 for i in li:
  if i in di:
   di[i]+=1
  else:
   di[i]=1
 for key in sorted(di):
  print("%s: %s" % (key, di[key]))
 t-=1