有一道题有 $n$ 条提交记录,分别由 $m$ 个人提交,且每个人至少提交了一次。不妨把这 $m$ 个人按 $1\sim m$ 编号,那么这 $n$ 条提交记录可以由一个长为 $n$,值域为 $[1,m]$ 的正整数序列 $a$ 表示。
你打算按顺序浏览一遍这些人的提交记录,但是对于同一个人的,你不想反复「仔细阅读」。同时,你的大脑容量也有限制,只能记录 $k$ 个人的名字。于是,你决定这样做:
显然,根据「优先级」的不同,你「仔细阅读」的次数也可能不同。为了省时间,你需要合理安排一个「优先级」,使得你「仔细阅读」的次数最少。
对于 $[1,m]$ 中的每个整数 $k$,回答最少的「仔细阅读」次数。
本题有多组数据。第一行一个正整数 $T$($1\le T\le1.5\cdot10^5$)表示数据组数。对于每组测试数据:
第一行输入两个正整数 $n,m$($1\le m\le n\le5000$)。
第二行一个长为 $n$ 的正整数序列 $a$($1\le a_i\le m$)。保证 $a$ 中 $1\sim m$ 各出现至少一次。
保证 $\sum n\le1.5\cdot10^6,\sum n^2\le1.5\cdot10^8$。
对于每组数据,输出一行 $m$ 个正整数,其中第 $i$ 个正整数表示当 $k=i$ 时的最小「仔细阅读」次数。
3 5 2 1 2 1 1 2 5 3 2 3 1 3 2 9 3 3 1 2 3 3 1 2 1 3
\n · \n · · · · \n · \n · · · · \n · \n · · · · · · · · \n
3 2 4 3 3 6 4 3
· \n · · \n · · \n