페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#4563

이상한 기계 4s 512MB

문제

고고학자들은 고대 문명이 남긴 이상한 기계를 발견하였다. 

이 기계는 두 정수 x와 y를 출력하는 두 부분이 있다.

 

이 기계를 조사해보고, 고고학자들은 이 기계가 과거의 어느 시점부터 시작하여 

시점 t에 대한 정보를 출력 하는 특별한 시계라는 결론을 내렸다. 

시점 t에서 첫 번째 출력 부분에서는 정수 x = ((t + [t/B] ) mod A)를 출력하고, 

두번째 출력 부분에서는 정수 y = (t mod B)를 출력한다. 

([x]는 x 이하이면서 가장 큰 정수를 나타낸다. X mod Y는 X를 Y로 나눈 나머지를 나타낸다.)

 

분석을 해 보니 이 기계가 항상 동작하는 것은 아니며, 

n개의 연속된 구간 [li, ri]에서만 동작하는 것을 알게 되었다. 

향후 연구를 위해서, 고고학자들은 당신에게 이 기계가 출력하는 순서쌍 (x, y) 중 

서로 다른 것이 모두 몇 개인지를 알아내는 프로그램을 작성하도록 부탁했다.

 

두 순서쌍 (x1, y1)와 (x2, y2)는 만약 x1 ≠ x2이거나 y1 ≠ y2이라면 서로 다르다.​ 


입력

첫 줄에는 세 정수 n, A, B가 주어진다. 

(1 ≤ n ≤ 10<6; 1 ≤ A, B ≤ 1018).

 

다음 n줄의 각각에는 두 정수 li와 ri가 주어지는데, 

이 기계가 동작하는 구간 [li, ri]의 시작 시점과 종료 시점을 나타낸다. 

(0 ≤ li ≤ ri> ≤ 1018 , ri < li+1).

 


출력

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


예제 #1

3 3 3

4 4
7 9
17 18
4

예제 #2

3 5 10

1 20
50 68
89 98
31

예제 #3

2 16 13

2 5
18 18
5


출처

20201031 집중강화학습3차4번,dennisstar,APIO 2019 A번

로그인해야 코드를 작성할 수 있어요.