만드는 중입니다

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

화이트보드를 지워라

시간 제한5초메모리 제한256 MB

요약
주어진 R, S, Q에 대해 A R + B S가 Q와 같아지는 양의 정수 A와 B 중에서 A가 가장 작고 그다음 B가 가장 작은 쌍을 구합니다.
난이도

보통10점 중 4점

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

문제

숙제를 하려고 빈 강의실에 들어갔더니 누군가 화이트보드를 제대로 지우지 않았다. 바로 앞 수업이 확장 유클리드 알고리즘을 다뤘는지, 보드에는 그 알고리즘의 중간 결과가 잔뜩 남아 있다. 그런데 일부가 지워져 있어서 앞 수업이 무엇을 했는지 전부 보이지는 않는다. 특히 처음에 어떤 수를 넣었는지가 보이지 않는다. 어차피 숙제는 하기 싫었으니, 앞 수업이 출발점으로 삼은 수를 알아내 보기로 한다.

보드에 남은 중간 결과에서 확실한 사실은 하나다. 입력은 정수 AA와 BB(A,B≥1A, B \ge 1)였고, 보드에 남은 세 정수 RR, SS, QQ(R≥2R \ge 2, S≤−2S \le -2, Q≥1Q \ge 1)가 A⋅R+B⋅S=QA \cdot R + B \cdot S = Q를 만족한다. 이 세 수가 주어질 때 AA와 BB를 알아내야 한다. 식을 만족하는 쌍이 여럿일 수 있으므로, 그중 AA와 BB가 가장 작은 양의 정수 쌍을 찾는다. RR, SS, QQ가 AA와 BB에 확장 유클리드 알고리즘을 적용했을 때 실제로 나오는 중간 결과인지는 따지지 않는다. 식 A⋅R+B⋅S=QA \cdot R + B \cdot S = Q만 성립하면 된다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다.

이어서 각 테스트 케이스마다 한 줄에 세 정수 RR, SS, QQ가 공백으로 구분되어 주어진다. 2≤R≤1082 \le R \le 10^8, −108≤S≤−2-10^8 \le S \le -2, 1≤Q≤1081 \le Q \le 10^8이다. QQ는 RR과 SS의 최대공약수의 배수이다.

출력

각 테스트 케이스마다 A⋅R+B⋅S=QA \cdot R + B \cdot S = Q를 만족하는 가장 작은 쌍 A≥1A \ge 1, B≥1B \ge 1을 한 줄에 공백으로 구분해 출력한다. 가장 작은 쌍은 AA가 최소인 쌍이고, 그런 쌍이 여럿이면 그중 BB가 최소인 쌍이다.

예제3

  1. 예제 1

    입력
    4
    3 -5 15
    110 -29 1
    6 -5 12
    6 -5 11
    
    예상 출력
    10 3
    24 91
    7 6
    6 5
    
  2. 예제 2

    입력
    1
    2 -2 2
    
    예상 출력
    2 1
    
  3. 예제 3

    입력
    1
    12 -18 6
    
    예상 출력
    2 1