P0706

XY的赛车场

XY的赛车场

神牛 XY 是一名赛车爱好者。在他成年之际,父亲 XZG 准备为他建造一座赛车场。

赛车场共有 NN 个连接点,并将按照编号从 11 到 MM 的顺序修建 MM 段直道。每段直道连接两个不同的连接点,不存在连接点自身到自身的直道,但两个连接点之间可能修建多段直道。

在修建过程中,XZG 希望知道当前已建成的直道能够组成多少种可用的赛车场方案。一种方案需要满足以下条件:

  1. 选出的所有直道都已经建成,即它们是当前已建直道的一个非空子集;
  2. 赛道必须是封闭的,从赛道上的连接点出发,可以沿选中的直道回到出发点;
  3. 每个连接点可以经过多次,但每段直道最多经过一次。

对于每个 ii,请计算修建完第 11 至第 ii 段直道后,可行的赛车场组成方案数。

输入格式

第一行包含两个整数 NN 和 MM,分别表示连接点数量和计划修建的直道数量。

接下来 MM 行,第 ii 行包含两个整数 AA 和 BB,表示第 ii 段直道连接点 AA 与点 BB。

输出格式

输出 MM 行,第 ii 行包含一个整数 SiS_i,表示修建完第 11 至第 ii 段直道后的可行方案数。

由于答案可能很大,请输出答案对 109+910^9+9 取模后的结果。

样例输入

3 4
1 3
2 3
1 2
1 2

样例输出

0
0
1
3

数据范围

  • 对于 10%10\% 的数据,1≤N≤101\le N\le 10,1≤M≤101\le M\le 10;
  • 对于 40%40\% 的数据,1≤N≤10001\le N\le 1000,1≤M≤5×1041\le M\le 5\times 10^4;
  • 对于 100%100\% 的数据,1≤N≤5×1051\le N\le 5\times 10^5,1≤M≤1061\le M\le 10^6。

来源与许可

本题题面与测试数据整理自 BZOJ 2389。

样例 1

输入

3 4
1 3
2 3
1 2
1 2

输出

0
0
1
3