题目描述
小 S 在玩一款小游戏。游戏中会有一个 n×m 的棋盘,其中 k 个位置上有星星。初始有一个捕捉器,在 (x,y) 位置。每次操作,你可以将捕捉器移动到同行或同列的某个位置,使得新位置与原位置不同且必须保证新位置 (x′,y′) 满足 1≤x′≤n,1≤y′≤m。捕捉器会捕捉 (x,y) 到 (x′,y′) 路径上所有的星星。一个星星被捕捉后将会消失。
游戏的目标是在恰好两步内获得尽可能多的星星,然而小 S 不会玩,于是每次就会随意挑选一个可以移动到的新位置进行移动。对于 (n+m−2)2 种小 S 的不同移动方案,求捕捉到的星星数量之和,答案对 109+7 取模。
输入格式
第一行三个正整数 n,m,k,表示棋盘大小与星星个数。
第二行两个正整数 x,y,表示捕捉器初始位置。
接下来 k 行,每行两个正整数,表示每颗星星所在的位置 (p,q)。每个位置上可以有多颗星星。
输出格式
一行,一个非负整数,表示对于 (n+m−2)2 种小 S 的不同移动方案,他能捕捉到的星星数量之和,对 109+7 取模。
样例
3 3 4
2 2
1 1
1 2
1 3
3 1
11
样例 1 解释
网格图中,一种合法的移动捕捉器的方案是:
(2,2)→(1,2)→(1,3)
在该方案中,可以捕捉到位置在 (1,2) 和 (1,3) 的各 1 颗星星。
5 8 9
2 7
1 7
2 2
4 7
4 5
4 7
2 8
5 2
1 7
1 7
153
数据范围
本题采用捆绑测试。
子任务编号 |
分值 |
n≤ |
m≤ |
1 |
5 |
50 |
2 |
10 |
1000 |
3 |
20 |
105 |
105 |
4 |
25 |
109 |
5 |
109 |
6 |
15 |
1018 |
对于 100% 的数据,1≤k≤105,1≤n,m≤1018,1≤x,p≤n,1≤y,q≤m,(x,y)=(p,q)。