给定一个 $1, 2, \dots, n$ 的排列 $p_1, p_2, \dots, p_n$。同时给定 $m$ 个形如 $p_{a_i} < p_{b_i}$ 的约束条件。求满足所有约束条件的排列的数量。
保证至少存在一个这样的排列。
输入格式
第一行包含 $n$ 和 $m$ ($1 \le n \le 40, 0 \le m \le 20$)。接下来的 $m$ 行,每行包含两个整数 $a_i$ 和 $b_i$ ($1 \le a_i, b_i \le n$)。
输出格式
输出一个整数,表示满足条件的排列数量,结果对 $10^9 + 7$ 取模。
样例
样例输入 1
3 1 1 2
样例输出 1
3
样例输入 2
3 2 1 2 2 3
样例输出 2
1