Mobile Communications
Contest: VK Cup 2018 - Wild-card Round 1
Difficulty rating: 2000

A sum of p rubles is charged from Arkady's mobile phone account every day in the morning. Among the following m days, there are n days when Arkady will top up the account: in the day di he will deposit ti rubles on his mobile phone account. Arkady will always top up the account before the daily payment will be done. There will be no other payments nor tops up in the following m days.

Determine the number of days starting from the 1-st to the m-th such that the account will have a negative amount on it after the daily payment (i. e. in evening). Initially the account's balance is zero rubles.

Input format:
The first line contains three integers n, p and m (1 ≤ n ≤ 100 000, 1 ≤ p ≤ 109, 1 ≤ m ≤ 109, n ≤ m) — the number of days Arkady will top up the account, the amount of the daily payment, and the number of days you should check.

The i-th of the following n lines contains two integers di and ti (1 ≤ di ≤ m, 1 ≤ ti ≤ 109) — the index of the day when Arkady will make the i-th top up, and the amount he will deposit on this day. It is guaranteed that the indices of the days are distinct and are given in increasing order, i. e. di > di - 1 for all i from 2 to n.

Output format:
Print the number of days from the 1-st to the m-th such that the account will have a negative amount on it after the daily payment.

Constraints:
Time limit: 1.0 s
Memory limit: 256.0 MB

Note:
In the first example the balance will change as following (remember, initially the balance is zero):

1. in the first day 6 rubles will be charged, the balance in the evening will be equal to  - 6;
2. in the second day Arkady will deposit 13 rubles, then 6 rubles will be charged, the balance in the evening will be equal to 1;
3. in the third day 6 rubles will be charged, the balance in the evening will be equal to  - 5;
4. in the fourth day Arkady will deposit 20 rubles, then 6 rubles will be charged, the balance in the evening will be equal to 9;
5. in the fifth day 6 rubles will be charged, the balance in the evening will be equal to 3;
6. in the sixth day 6 rubles will be charged, the balance in the evening will be equal to  - 3;
7. in the seventh day Arkady will deposit 9 rubles, then 6 rubles will be charged, the balance in the evening will be equal to 0.

Thus, in the end of the first, third and sixth days the balance will be negative in the end of the day.

Example input:
3 6 7
2 13
4 20
7 9

Example output:
3

Example input:
5 4 100
10 70
15 76
21 12
30 100
67 85

Example output:
26

Editorial:
Для решения нужно добавить еще одно пополнение счета в день m + 1 на 0 рублей. Будем хранить в переменной bal значение текущего баланса на счете. Тогда будем обрабатывать события поступления денег на счет в хронологическом порядке.
Пусть предыдущее поступление произошло в день prev, а текущий день равен (d[i] - 1), где d[i] — номер дня, в который произошло очередное пополнение счета.
Тогда, если bal был отрицательным, то нужно прибавить к ответу (d[i] - prev), так как все эти дни баланс только уменьшался. Если bal - (d[i] - prev)·p ≥ 0, то баланс не стал отрицательным к началу дня d[i] и к ответу не нужно ничего прибавлять. Иначе, в какой-то из дней между prev и d[i] - 1 баланс стал отрицательным и после этого только убывал, поэтому к ответу нужно прибавить d[i] - prev - bal / p, так как первые bal / p дней баланс был положительным.
После обработки этого события, нужно пересчитать значение bal и prev. Со счета за эти дни убыло (d[i] - prev)·p рублей, а прибыло t[i] рублей. После этого prev нужно присвоить значению d[i] и перейти к следующему событию поступления денег на счет.