#L3222. 「PA 2019」Wyspa

「PA 2019」Wyspa

「PA 2019」岛屿港口

题目描述

题目译自 PA 2019 Runda 4 Wyspa

比特岛位于海上,在比特岛的中心有一个内陆湖。在比特岛一共有 nn 个点,编号为 11nn。其中:

  • 11aa 的点按照顺时针或逆时针表示内陆湖边上的点
  • a+1a + 1a+ba + b 的点按照顺时针或逆时针表示比特岛海岸线上的点
  • a+b+1a + b + 1nn 的点表示既不在湖边也不在海边的点

这些点之间连着 mm 条单向或双向道路。

每条道路不会经过湖、海或者任意一个点;这些道路中不存在「天桥」或者「地下隧道」,任意两条道路只可能在端点处相交。换言之,这是一张平面图

从任意一个湖边的点出发,都能沿着这些道路直接或间接地到达至少一个海边的点。

现在要在 bb 个海边点中选择若干个点作为港口,问有多少种选点的方案使得任意一个湖边的点都能到达至少一个港口?

输入格式

第一行四个正整数 nn, mm, aa, bb

接下来 mm 行描述 mm 条道路,每行格式为:

  • u -- v 表示连接 uuvv 的双向道路
  • u -> v 表示从 uuvv 的单向道路

输出格式

输出一行一个整数,即满足条件的方案数模 109+710^9+7

样例 1

输入

6 8 3 3
2 -> 1
2 -> 3
1 -> 3
3 -- 6
1 -> 4
2 -> 5
4 -> 6
4 -- 5

输出

4

样例解释
6 号点必选,4 和 5 可选可不选,因此有 22=42^2 = 4 种方案。

样例 2

输入

8 7 3 4
1 -> 4
1 -> 5
2 -> 4
2 -> 8
3 -> 6
3 -> 5
8 -> 6

输出

8

数据范围与提示

1a,b3×1051 \le a, b \le 3 \times 10^5a+bn3×105a + b \le n \le 3 \times 10^50m1060 \le m \le 10^6