#MTHA0000011. Số có số dư cho trước (Numbers with a Given Remainder)

Số có số dư cho trước (Numbers with a Given Remainder)

Số có số dư cho trước (Numbers with a Given Remainder)

Phiên bản: Phước Hưng OJ Extended

Đề bài

Cho bốn số nguyên L,R,M,rL,R,M,r thỏa mãn L≤RL\le R và 0≤r<M0\le r<M. Hãy đếm số lượng số nguyên XX trong đoạn [L,R][L,R] có số dư bằng rr khi chia cho MM, tức là X≡r(modM)X\equiv r\pmod M.

Input

Một dòng chứa bốn số nguyên LL, RR, MM và rr.

Output

In ra số lượng số nguyên thỏa mãn yêu cầu.

Subtask

  • Subtask 1 (30 điểm):
    • 1≤L≤R≤1061 \le L \le R \le 10^6.
    • 1≤M≤10181 \le M \le 10^{18}.
    • 0≤r<M0 \le r < M.
  • Subtask 2 (70 điểm):
    • 1≤L≤R≤10181 \le L \le R \le 10^{18}.
    • 1≤M≤10181 \le M \le 10^{18}.
    • 0≤r<M0 \le r < M.

Ví dụ

Ví dụ 1

Input

1 20 5 2

Output

4

Giải thích

Các số có số dư 22 khi chia cho 55 là 2,7,12,172,7,12,17, nên kết quả là 44.

Ví dụ 2

Input

1 20 5 0

Output

4

Giải thích

Số dư 00 tương ứng với các bội 5,10,15,205,10,15,20, có 44 số.

Ví dụ 3

Input

8 8 10 8

Output

1

Giải thích

Đoạn chỉ có số 88 và 8 mod 10=88\bmod10=8, nên có đúng một số thỏa mãn.