Chef has an array of N natural numbers most of them are repeated. Cheffina challenges chef to find all numbers(in ascending order) whose frequency is strictly more than K.

-----Input:-----
- First-line will contain $T$, the number of test cases. Then the test cases follow. 
- Each test case contains two lines of input, two integers $N, K$.
- N space-separated natural numbers.

-----Output:-----
For each test case, output in a single line answer.

-----Constraints-----
- $1 \leq T \leq 10$
- $1 \leq N, K \leq 10^5$
- $1 \leq arr[i] \leq 10^5$

-----Sample Input:-----
1
5 1
5 2 1 2 5

-----Sample Output:-----
2 5

```python

USER_FILENAME = "<user_code>"
import sys, json, builtins
import math, heapq, bisect, itertools, functools, collections, statistics, fractions, decimal, operator, array, random, re, string, os, pathlib
try:
    import resource as _res
except Exception:
    _res = None
from collections import Counter, defaultdict, deque, OrderedDict
from functools import lru_cache, reduce
from itertools import accumulate, permutations, combinations, product
from math import gcd, ceil, floor, sqrt
from decimal import Decimal
try:
    from typing import *
except Exception:
    pass
try:
    sys.setrecursionlimit(1_000_000)
except Exception:
    pass
try:
    import site as _site
    try:
        _sys_sites = _site.getsitepackages() if hasattr(_site, "getsitepackages") else []
        for _p in _sys_sites:
            if _p and _p not in sys.path:
                sys.path.append(_p)
    except Exception:
        pass
    try:
        _usp = _site.getusersitepackages()
        if isinstance(_usp, str):
            _usp = [_usp]
        for _p in _usp:
            if _p and _p not in sys.path:
                sys.path.append(_p)
    except Exception:
        pass
except Exception:
    pass

ns = {"__name__": "__main__"}
for _k, _v in list(globals().items()):
    if not _k.startswith("_"):
        ns[_k] = _v
_CODE = 'import sys\r\ninput = lambda: sys.stdin.readline().rstrip("\\r\\n")\r\ninp = lambda: list(map(int,sys.stdin.readline().rstrip("\\r\\n").split()))\r\n#______________________________________________________________________________________________________\r\n# from math import *\r\n# from bisect import *\r\n# from heapq import *\r\n# from collections import defaultdict as dd\r\n# from collections import OrderedDict as odict\r\nfrom collections import Counter as cc\r\n# from collections import deque\r\n# sys.setrecursionlimit(2*(10**5)+100) this is must for dfs\r\nmod = 10**9+7; md = 998244353\r\n# ______________________________________________________________________________________________________\r\n# segment tree for range minimum query\r\n# sys.setrecursionlimit(10**5)\r\n# n = int(input())\r\n# a = list(map(int,input().split()))\r\n# st = [float(\'inf\') for i in range(4*len(a))]\r\n# def build(a,ind,start,end):\r\n# \tif start == end:\r\n# \t\tst[ind] = a[start]\r\n# \telse:\r\n# \t\tmid = (start+end)//2\r\n# \t\tbuild(a,2*ind+1,start,mid)\r\n# \t\tbuild(a,2*ind+2,mid+1,end)\r\n# \t\tst[ind] = min(st[2*ind+1],st[2*ind+2])\r\n# build(a,0,0,n-1)\r\n# def query(ind,l,r,start,end):\r\n# \tif start>r or end<l:\r\n# \t\treturn float(\'inf\')\r\n# \tif l<=start<=end<=r:\r\n# \t\treturn st[ind]\r\n# \tmid = (start+end)//2\r\n# \treturn min(query(2*ind+1,l,r,start,mid),query(2*ind+2,l,r,mid+1,end))\r\n# ______________________________________________________________________________________________________\r\n# Checking prime in O(root(N))\r\n# def isprime(n):\r\n#     if (n % 2 == 0 and n > 2) or n == 1: return 0\r\n#     else:\r\n#         s = int(n**(0.5)) + 1\r\n#         for i in range(3, s, 2):\r\n#             if n % i == 0:\r\n#                 return 0\r\n#         return 1\r\n# def lcm(a,b):\r\n#   return (a*b)//gcd(a,b)\r\n# ______________________________________________________________________________________________________\r\n# nCr under mod\r\n# def C(n,r,mod):\r\n#   if r>n:\r\n#       return 0\r\n#   num = den = 1\r\n#   for i in range(r):\r\n#       num = (num*(n-i))%mod\r\n#       den = (den*(i+1))%mod\r\n#   return (num*pow(den,mod-2,mod))%mod\r\n# M = 10**5 +10\r\n# ______________________________________________________________________________________________________\r\n# For smallest prime factor of a number\r\n# M = 1000010\r\n# pfc = [i for i in range(M)]\r\n# def pfcs(M):\r\n#   for i in range(2,M):\r\n#       if pfc[i]==i:\r\n#           for j in range(i+i,M,i):\r\n#               if pfc[j]==j:\r\n#                   pfc[j] = i\r\n#   return\r\n# pfcs(M)\r\n# ______________________________________________________________________________________________________\r\ntc = 1\r\ntc, = inp()\r\nfor _ in range(tc):\r\n\tn,k = inp()\r\n\ta = inp()\r\n\tb = cc(a)\r\n\tans = []\r\n\tfor i in b.keys():\r\n\t\tif b[i]>k:\r\n\t\t\tans.append(i)\r\n\tans.sort()\r\n\tprint(*ans)'
_co = compile(_CODE, USER_FILENAME, "exec")
exec(_co, ns, ns)

```

Measured memory_bytes: 14355