만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Axy+Bx+Cy+D=0Axy+Bx+Cy+D=0

시간 제한1초메모리 제한1024 MB

요약
정수 A, B, C, D가 주어질 때 Axy+Bx+Cy+D=0을 만족하는 정수쌍 (x, y)의 개수를 구하고 모두 정렬해 출력합니다.
난이도

보통10점 중 6점

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

문제

정수 A,B,C,DA,B,C,D가 주어졌을 때, Axy+Bx+Cy+D=0Axy+Bx+Cy+D=0을 만족하는 정수해 (x,y)(x,y)를 모두 구하시오.

입력

첫 번째 줄에 정수 A,B,C,D(−109≤A,B,C,D≤109)A,B,C,D(-10^9\le A,B,C,D\le 10^9)가 공백으로 구분되어 주어진다.

출력

첫 줄에 Axy+Bx+Cy+D=0Axy+Bx+Cy+D=0을 만족하는 서로 다른 정수해 (x,y)(x,y)의 개수를 출력한다. 해가 무수히 많으면 INFINITY를 출력한다.

해가 유한하면 두 번째 줄부터 서로 다른 정수해 (x,y)(x,y)를 모두 한 줄에 하나씩, x와 y를 공백으로 구분하여 출력한다. 출력 순서는 x의 오름차순이고, x가 같으면 y의 오름차순이다.

예제5

  1. 예제 1

    입력
    2 0 0 12
    
    예상 출력
    8
    -6 1
    -3 2
    -2 3
    -1 6
    1 -6
    2 -3
    3 -2
    6 -1
    
  2. 예제 2

    입력
    2 0 0 11
    
    예상 출력
    0
    
  3. 예제 3

    입력
    1 2 9 12
    
    예상 출력
    8
    -15 -3
    -12 -4
    -11 -5
    -10 -8
    -8 4
    -7 1
    -6 0
    -3 -1
    
  4. 예제 4

    입력
    1 2 9 -12
    
    예상 출력
    16
    -39 -3
    -24 -4
    -19 -5
    -15 -7
    -14 -8
    -12 -12
    -11 -17
    -10 -32
    -8 28
    -7 13
    -6 8
    -4 4
    -3 3
    1 1
    6 0
    21 -1
    
  5. 예제 5

    입력
    0 14 15 1
    
    예상 출력
    INFINITY