아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

이상한 기계

시간 제한4초메모리 제한512 MB

요약
각 시각 t가 만드는 순서쌍 (x, y) = (((t + floor(t/B)) mod A), t mod B)를 n개의 서로 겹치지 않는 구간에서 모두 모아 서로 다른 순서쌍의 개수를 구한다.
난이도

어려움10점 중 8점

유형
수학, 정수론, 구현, 구간
정답자
아직 제출이 없습니다

문제

고고학자들이 고대 문명이 남긴 이상한 기계를 발견했다. 이 기계에는 두 정수 xx와 yy를 출력하는 두 부분이 있다.

기계를 조사한 고고학자들은 이 기계가 과거의 어느 시점부터 시작하여 시점 tt에 대한 정보를 출력하는 특별한 시계라고 결론지었다. 시점 tt에서 첫 번째 출력 부분은 정수 x=((t+⌊t/B⌋) mod A)x = ((t + \lfloor t/B \rfloor) \bmod A)를 출력하고, 두 번째 출력 부분은 정수 y=(t mod B)y = (t \bmod B)를 출력한다. (⌊x⌋\lfloor x \rfloor는 xx 이하이면서 가장 큰 정수를 나타낸다.)

분석 결과 이 기계는 항상 동작하지는 않으며, nn개의 연속된 구간 [li,ri][l_i, r_i]에서만 동작한다는 것을 알아냈다. 앞으로의 연구를 위해 고고학자들은 당신에게 이 기계가 출력하는 순서쌍 (x,y)(x, y) 중 서로 다른 것이 모두 몇 개인지 알아내는 프로그램을 작성해 달라고 부탁했다.

두 순서쌍 (x1,y1)(x_1, y_1)과 (x2,y2)(x_2, y_2)는 x1≠x2x_1 \ne x_2이거나 y1≠y2y_1 \ne y_2이면 서로 다르다.

입력

첫 줄에는 세 정수 nn, AA, BB가 주어진다. (1≤n≤1061 \le n \le 10^6; 1≤A,B≤10181 \le A, B \le 10^{18})

다음 nn줄의 각각에는 두 정수 lil_i와 rir_i가 주어지는데, 이 기계가 동작하는 구간 [li,ri][l_i, r_i]의 시작 시점과 종료 시점을 나타낸다. (0≤li≤ri≤10180 \le l_i \le r_i \le 10^{18}, ri<li+1r_i < l_{i+1})

출력

이 기계가 동작하는 동안 출력하는 서로 다른 순서쌍 (x,y)(x, y)의 수를 출력한다.

힌트

첫 번째 테스트에서, 이 기계는 시점 4에서 (2,1)(2, 1)을, 시점 7에서 (0,1)(0, 1)을, 시점 8에서 (1,2)(1, 2)를, 시점 9에서 (0,0)(0, 0)을, 시점 17에서 (1,2)(1, 2)를, 시점 18에서 (0,0)(0, 0)을 출력한다. 따라서 서로 다른 네 개의 순서쌍 (0,0),(0,1),(1,2),(2,1)(0, 0), (0, 1), (1, 2), (2, 1)을 출력한다.

예제3

  1. 예제 1

    입력
    3 3 3
    4 4
    7 9
    17 18
    
    예상 출력
    4
    
  2. 예제 2

    입력
    3 5 10
    1 20
    50 68
    89 98
    
    예상 출력
    31
    
  3. 예제 3

    입력
    2 16 13
    2 5
    18 18
    
    예상 출력
    5