神牛XY是一中信息组最牛逼,也是最富有的孩子,而他又是一个赛车迷。XY神牛要成年了,所以他的父亲XZG准备给他建一座赛车场。XZG要建这座赛车场上有N个连接点,建M截直道,连接这N个连接点(不存在从I到I的直道)。而建这M截直道是有顺序的,按从1到M建。
对于建设过程中的赛车场,XZG希望知道这时XY是否可以使用赛车场了,使用的方法有几种。而赛车场可以使用的标准如下:1.赛车跑道必须由已建的直道组成,即选出组成赛车跑道的直道是已建直道的子集。2.赛车跑道必须是封闭的、,即必须从任意一个点出发可以回到这个点。3.每个连接点可以多次经过,但是每条直道只能经过一次。 XZG想知道对于修好第1至第M条直道后可行的组成赛车场的方案有多少种。
输入第一行是两个数N和M。
接下来M行,每行两个数A,B,表示第I条直道连接A到B。
M行,每行一个数SI表示表示连接了第I条直道后的方案数。由于答案较大,所以答案MOD 10^9+9。
3 4 1 3 2 3 1 2 1 2
0 0 1 3
Data Limit
对于10%的数据,1≤N≤10,1≤M≤10;
对于40%的数据,1≤N≤1000,1≤M≤50000;
对于100%的数据,1≤N≤500000,1≤M≤1000000;