2261: 纸牌游戏 / card-nodata

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:5 Solved:3

Description

小 Z 正在玩一种单人纸牌游戏。

他有一叠特制的纸牌,共有 n 张,从上到下的点数依次为 a1,a2,…,an。每张牌的点数都是 1 到 m 之间的整数,且每种点数都出现至少一次。

小 Z 将进行 n 局相互独立的游戏。每局开始前,他会将所有牌按原顺序放回牌堆,并清空桌面。在第 i(1≤i≤n)局中,他跳过前 i−1 张牌,依次打出第 i 张到第 n 张牌,这些牌的点数依次为 ai,ai+1,…,an。

桌面上的牌始终从左到右排成一行。打出一张点数为 k 的牌时:

  • 若桌面上没有点数为 k 的牌,就将这张牌放在最右端;
  • 否则,收走桌面上点数为 k 的牌及其右侧的所有牌,再把这张牌放在最右端。被收走的牌在本局中不再使用。

由上述规则可知,任意时刻桌面上同一种点数的牌至多只有一张。

最后一张牌打出后,本局游戏结束。

例如,若桌面上从左到右的牌的点数依次为 1,4,2,则打出一张点数为 3 的牌后,桌面上从左到右的牌的点数依次为 1,4,2,3。接着打出一张点数为 4 的牌时,桌面上原来点数为 4 的牌及其右侧的所有牌(点数依次为 4,2,3)被收走,再把新打出的 4 放在最右端,此时桌面上从左到右的牌的点数依次为 1,4。

你需要帮助小 Z 依次求出,对于每个 i=1,2,…,m,在所有 n 局游戏中,有多少局结束时桌面上留有点数为 i 的牌。

Input


从文件 card.in 中读入数据。

输入的第一行包含两个正整数 n,m,分别表示牌的数量和点数种类数。

输入的第二行包含 n 个正整数 a1,a2,…,an,依次表示小 Z 的牌从上到下的点数。

Output


从文件 card.in 中读入数据。

输入的第一行包含两个正整数 n,m,分别表示牌的数量和点数种类数。

输入的第二行包含 n 个正整数 a1,a2,…,an,依次表示小 Z 的牌从上到下的点数。

Sample Input Copy

4 3
1 2 1 3

Sample Output Copy

3 1 4

HINT

样例 1 解释

对于第 局游戏,小 Z 依次打出点数为 的牌:

  1. 打出第 张牌(点数为 )后,桌面上只有一张点数为 的牌;
  2. 打出第 张牌(点数为 )后,桌面上从左到右的牌的点数依次为 ;
  3. 打出第 张牌(点数为 )后,先收走桌面上点数为 的两张牌,再放上新打出的 ,桌面上只有一张点数为 的牌;
  4. 打出第 张牌(点数为 )后,桌面上从左到右的牌的点数依次为 。

因此第 局游戏结束时,桌面上从左到右的牌的点数依次为 。

对于第 局游戏,小 Z 依次打出点数为 的牌,结束时桌面上从左到右的牌的点数依次为 。

对于第 局游戏,小 Z 依次打出点数为 的牌,结束时桌面上从左到右的牌的点数依次为 。

对于第 局游戏,小 Z 仅打出一张点数为 的牌,结束时桌面上只有一张点数为 的牌。

因此,在全部 局游戏中:

  • 有 局游戏结束时,桌面上留有点数为 的牌,即第 局;
  • 有 局游戏结束时,桌面上留有点数为 的牌,即第 局;

  • 有 局游戏结束时,桌面上留有点数为 的牌,即全部 局。

数据范围

对于所有测试数据,均有:

  • ,;
  • 对于所有 (),均有 ;
  • 每种点数都出现至少一次,即对于所有 (),均存在 ()满足 。

特殊性质 A:。

特殊性质 B:至多存在 个 ()满足 。