Codeforces Round 108 (Div. 2)
B
Steps
Codeforces
1300
原题
← AC →
翻译中…

One day Vasya went out for a walk in the yard but there weren't any of his friends outside and he had no one to play touch and run. But the boy didn't lose the high spirits and decided to play touch and run with himself. You may ask: "How did he do that?" The answer is simple.

翻译中…

Vasya noticed that the yard is a rectangular $*n* × *m*$ field. The squares have coordinates $(*x*, *y*)$ ($1 ≤ *x* ≤ *n*, 1 ≤ *y* ≤ *m*$), where $*x*$ is the index of the row and $*y*$ is the index of the column.

翻译中…

Initially Vasya stands in the square with coordinates ($*x*_{*c*}, *y*_{*c*}$). To play, he has got a list of $*k*$ vectors $(*dx*_{*i*}, *dy*_{*i*})$ of non-zero length. The game goes like this. The boy considers all vectors in the order from $1$ to $*k*$, and consecutively chooses each vector as the current one. After the boy has chosen a current vector, he makes the maximally possible number of valid steps in the vector's direction (it is possible that he makes zero steps).

翻译中…

A step is defined as one movement from the square where the boy is standing now, in the direction of the current vector. That is, if Vasya is positioned in square $(*x*, *y*)$, and the current vector is $(*dx*, *dy*)$, one step moves Vasya to square $(*x* + *dx*, *y* + *dy*)$. A step is considered valid, if the boy does not go out of the yard if he performs the step.

翻译中…

Vasya stepped on and on, on and on until he ran out of vectors in his list. Ha had been stepping for so long that he completely forgot how many steps he had made. Help the boy and count how many steps he had made.

翻译中…

Input

翻译中…

The first input line contains two integers $*n*$ and $*m*$ ($1 ≤ *n*, *m* ≤ 10^{9}$) — the yard's sizes. The second line contains integers $*x*_{*c*}$ and $*y*_{*c*}$ — the initial square's coordinates ($1 ≤ *x*_{*c*} ≤ *n*, 1 ≤ *y*_{*c*} ≤ *m*$).

翻译中…

The third line contains an integer $*k*$ ($1 ≤ *k* ≤ 10^{4}$) — the number of vectors. Then follow $*k*$ lines, each of them contains two integers $*dx*_{*i*}$ and $*dy*_{*i*}$ $(|*dx*_{*i*}|, |*dy*_{*i*}| ≤ 10^{9}, |*dx*| + |*dy*| ≥ 1)$.

翻译中…

Output

翻译中…

Print the single number — the number of steps Vasya had made.

翻译中…

Please do not use the %lld specificator to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specificator.

翻译中…

Note

翻译中…

In the first sample Vasya is initially positioned at square $(1, 1)$ and makes $3$ steps by the first vector $(1, 1)$. So, he consecutively visits the squares $(2, 2), (3, 3), (4, 4)$. Then he makes $0$ steps by the second vector $(1, 1)$. He makes $1$ more step by the third vector $(0,  - 2)$ and he ends up in square $(4, 2)$. Overall, Vasya makes $4$ steps.

翻译中…

In the second sample Vasya is initially positioned in square $(1, 2)$ and makes $0$ steps by vector $( - 1, 0)$, as the square with coordinates $(0, 2)$ is located outside the yard.

翻译中…

样例

Input #1
4 5
1 1
3
1 1
1 1
0 -2
Output #1
4
InputCopy OutputCopy
Input #2
10 10
1 2
1
-1 0
Output #2
0
InputCopy OutputCopy
题目信息
题号
152B
时间限制
2 s
内存限制
256 MB
标签
二分
模拟

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。