给定一个包含 $n$ 个顶点和 $m$ 条边的有向图。你需要回答 $q$ 个查询。 对于每个查询,给定 $k_1, p_1, p_2, \dots, p_{k_1}$ 以及 $k_2, s_1, t_1, s_2, t_2, \dots, s_{k_2}, t_{k_2}$。对于所有 $i$ ($1 \le i \le k_2$),回答在删除顶点 $p_1, p_2, \dots, p_{k_1}$ 后,是否存在从 $s_i$ 到 $t_i$ 的路径。查询之间相互独立。
输入格式
第一行包含 $n, m$ ($1 \le n \le 500, 0 \le m \le n(n - 1)$)。 接下来的 $m$ 行,每行包含 $u, v$ ($1 \le u, v \le n, u \neq v$),表示图中的一条有向边。保证图中没有重边。 下一行包含 $q$ ($1 \le q \le 4 \times 10^5$)。为了确保在线回答查询,输入经过了加密。输入可以使用以下伪代码解密:
cnt = 0 for i = 1 ... q read(k1) for j = 1 ... k1 read(p’[j]) p[j] =(p’[j] + cnt - 1) % n + 1 read(k2) for j = 1 ... k2 read(s’, t’) s = (s’ + cnt - 1) % n + 1 t = (t’ + cnt - 1) % n + 1 cnt += query(s, t) // if s can reach t, query return 1, otherwise, query return 0
接下来的 $2q$ 行,对于每个查询: 第一行包含 $k_1, p'_1, \dots, p'_{k_1}$。保证 $p_i$ 是互不相同的。 第二行包含 $k_2, s'_1, t'_1, \dots, s'_{k_2}, t'_{k_2}$。保证所有的 $s_i, t_i$ 与所有的 $p_i$ 均不相同。 * 保证 $1 \le k_1 \le \min(n - 2, 6)$,$\sum k_2 \le 4 \times 10^6$,$1 \le p'_i, s'_i, t'_i \le n$。
输出格式
对于每个查询,按顺序输出一个长度为 $k_2$ 的二进制字符串,表示 query(s, t) 的结果。
样例
输入 1
5 4 1 2 2 3 3 4 4 5 2 1 4 2 1 5 1 3 3 5 3 4 1 1 2
输出 1
01 1
说明
建议使用快速输入输出(Fast IO)。