#1897. 黑魔法师之门

黑魔法师之门

题目描述

经过了 16\red{16 }个工作日的紧张忙碌,未来的人类终于收集到了足够的能源。然而在与 Violet\red{Violet} 星球的战争中,由于 Z\red{Z }副官的愚蠢,地球的领袖 applepi\red{applepi }被邪恶的黑魔法师 Vani\red{Vani }囚禁在了 Violet\red{Violet }星球。为了重启 Nescaf\red{Nescaf} 这一宏伟的科技工程,人类派出了一支由 XLk\red{XLk}Poet_shy\red{Poet\_shy }lydrainbowcat\red{lydrainbowcat }三人组成的精英队伍,穿越时空隧道,去往 Violet\red{Violet }星球拯救领袖 applepi\red{applepi}

applepi\red{applepi }被囚禁的地点只有一扇门,当地人称它为"黑魔法师之门"。这扇门上画着一张 无向无权图,而打开这扇门的密码就是图中每个点的度数大于零且都是偶数的子图的个数 对 1000000009\red{1000000009 }取模的值。此处子图 (V,E)\red{(V, E) }定义为:点集 V\red{V }和边集 E\red{E }都是原图的任意子集, 其中 E\red{E }中的边的端点都在 V\red{V }中。

但是 Vani\red{Vani }认为这样的密码过于简单,因此门上的图是动态的。起初图中只有 N\red{N }个顶点 而没有边。Vani\red{Vani }建造的门控系统共操作 M\red{M }次,每次往图中添加一条边。你必须在每次操作 后都填写正确的密码,才能够打开黑魔法师的牢狱,去拯救伟大的领袖 applepi\red{applepi}

输入格式

第一行包含两个整数 N\red{N }M\red{M}

接下来 M\red{M }行,每行两个整数 A\red{A }B\red{B,}代表门控系统添加了一条无向边 (A,B)\red{(A, B)}

输出格式

输出一共 M\red{M }行,表示每次操作后的密码。

样例

输入样例

4 8
3 1
3 2
2 1
2 1
1 3
1 4
2 4
2 3

输出样例

0
0
1
3
7
7
15
31

提示

第三次添加之后,存在一个满足条件的子图 {1,2,3}\red{\{1, 2, 3\}}(其中 1,2,3\red{1, 2, 3 }是数据中边的标号)。

第四次添加之后,存在三个子图{1,2,3}\red{\{1, 2, 3\},}{1,2,4}\red{\{1, 2, 4\},}{3,4}\red{\{3, 4\}}

...

对于 30%\red{30\% }的数据,N,M\red{N, M≤}10\red{10}

对于 100%\red{100\% }的数据,N\red{N≤}200000\red{200000,}M\red{M≤}300000\red{300000}