bzoj#P4767. 两双手

两双手

题目描述

老 W 是个棋艺高超的棋手,他最喜欢的棋子是马,更具体地,他更加喜欢马所行走的方式。老 W 下棋时觉得无聊,便决定加强马所行走的方式,更具体地,他有两双手,其中一双手能让马从 (u,v)(u,v) 移动到 (u+Ax,v+Ay)(u+Ax,v+Ay),而另一双手能让马从 (u,v)(u,v) 移动到 (u+Bx,v+By)(u+Bx,v+By)

小 W 看见老 W 的下棋方式,觉得非常有趣,他开始思考一个问题:假设棋盘是个无限大的二维平面,一开始马在原点 (0,0)(0,0) 上,若用老 W 的两种方式进行移动,他有多少种不同的移动方法到达点 (Ex,Ey)(Ex,Ey) 呢?两种移动方法不同当且仅当移动步数不同或某一步所到达的点不同。

老 W 听了这个问题,觉得还不够有趣,他在平面上又设立了 nn 个禁止点,表示马不能走到这些点上,现在他们想知道,这种情况下马有多少种不同的移动方法呢?答案数可能很大,你只要告诉他们答案模 (109+7)(10^9+7) 的值就行。

输入格式

第一行三个整数 Ex,Ey,nEx,Ey,n 分别表示马的目标点坐标与禁止点数目。
第二行四个整数 Ax,Ay,Bx,ByAx,Ay,Bx,By 分别表示两种单步移动的方法,保证 Ax×ByAy×Bx0Ax\times By-Ay\times Bx\neq 0
接下来 nn 行每行两个整数 Sxi,SyiS_{x_i},S_{y_i},表示一个禁止点。

输出格式

仅一行一个整数,表示所求的答案。

4 4 1
0 1 1 0
2 3
40

数据规模与约定

对于 100%100\% 的数据,0Ax,Ay,Bx,By,n,Ex,Ey5000\le |Ax|,|Ay|,|Bx|,|By|,n,Ex,Ey \le 500