#WC012. 星轨

星轨

题目描述

灰在分析一片古老的数据星图后有了一个有趣的发现。

这片星图由 nn 颗「星核」构成。她发现,每个星核 ii 都与两种不同的「星尘」 aia_ibib_i 存在关联。而当两个不同的星核与同一种星尘相关联时,它们之间就会形成一条稳固的「星轨」(注意两个星核之间可能存在两条星轨)。

经过灰的解析,每个星尘至多22 个星核关联,因而星轨共同构成了一些独立的星座——这些星座的形态,要么是简单的星链,要么是闭合的星环。

我们的任务是对这些星核进行能量注入。我们可以选择任意 LL 颗星核来点亮它们。 一条星轨的美妙之处在于,只有当它的两端所连接的星核同时被点亮时,这条星轨才会被激活,展现出它真正的光芒。

请你针对每一种可能的注入数量 LL (从 11nn),分别计算出最多能激活多少条星轨。

输入

第一行,包含两个非负整数 n,m(1n105,nm2n)n, m(1 \leq n \leq 10^5 , n \leq m \leq 2n) 分别表示星核数量和星尘数量。 接下来 nn 行,第 ii 行包含两个整数 ai,bi(1ai,bim,aibi)a_i , b_i(1 \leq a_i, b_i \leq m, a_i \neq b_i) 分别表示第 ii 个星核关联的星尘。

输出

输出一行,包含 nn 个整数,从左到右第 ii 个整数表示当 L=iL = i 时,最多能激活的星轨条数。整数之间用一个用空格隔开。

输入输出样例 #1

输入 #1

3 6
1 2
2 5
1 6 

输出 #1

0 1 2

输入输出样例 #2

输入 #2

10 10
1 2
2 3
1 3
4 5
5 6
6 7
4 7
8 9
9 10
8 10

输出 #2

0 1 3 4 4 6 7 7 8 10

样例解释 1

  • L=1L = 1 时,无法激活任何星轨
  • L=2L = 2 时,点亮星核 11 和星核 22,则可以激活由第 22 个星尘构建的星轨。
  • L=3L = 3 时,点亮所有星核,可以同时激活第 11 个 和第 22 个星尘构建的星轨。