가느다란 다각형

각 (xbb, ybb)에 대해 2g ≤ p+q이면 xbb/g를 법으로 한 ybb/g의 모듈러 역원으로 만든 Q1을, 아니면 Q2의 네 꼭짓점을 출력한다.

보통7수학정수론기하구현아직 제출이 없습니다시간 제한3초메모리 제한512 MB

문제

두 정수 xbbx_{bb}ybby_{bb}가 주어진다. 다음 조건을 모두 만족하는 다각형을 가느다란 다각형이라고 하자.

  • 꼭짓점이 3개 또는 4개다.
  • 이웃한 두 변은 공통 끝점만 공유하고, 이웃하지 않은 두 변은 어떤 점도 공유하지 않는다.
  • 모든 꼭짓점의 두 좌표는 정수다.
  • 모든 꼭짓점 (x,y)(x, y)0xxbb0 \le x \le x_{bb}0yybb0 \le y \le y_{bb}를 만족한다.
  • xx좌표가 00인 꼭짓점, xx좌표가 xbbx_{bb}인 꼭짓점, yy좌표가 00인 꼭짓점, yy좌표가 ybby_{bb}인 꼭짓점이 각각 하나 이상 있다.
  • 넓이가 5000050000 이하다.

가느다란 다각형은 볼록하지 않아도 된다. 한 쌍 (xbb,ybb)(x_{bb}, y_{bb})에 대해 가느다란 다각형이 여러 개 존재하므로, 이 문제는 그중 하나를 다음과 같이 정해서 요구한다.

g=gcd(xbb,ybb)g = \gcd(x_{bb}, y_{bb}), p=xbb/gp = x_{bb}/g, q=ybb/gq = y_{bb}/g라고 하자. 사각형 두 개를 정의한다.

  • Q1Q_1: 1rp1 \le r \le p이면서 rq1(modp)rq \equiv 1 \pmod{p}인 정수 rr는 유일하다. 이 rrs=(rq1)/ps = (rq-1)/p를 써서, Q1Q_1의 꼭짓점을 순서대로 (0,0)(0, 0), (r,s)(r, s), (xbb,ybb)(x_{bb}, y_{bb}), (pr,qs)(p-r, q-s)로 정한다. Q1Q_1의 넓이는 gg다.
  • Q2Q_2: Q2Q_2의 꼭짓점을 순서대로 (0,0)(0, 0), (xbb,ybb1)(x_{bb}, y_{bb}-1), (p,q)(p, q), (xbb1,ybb)(x_{bb}-1, y_{bb})로 정한다. Q2Q_2의 넓이는 (p+q)/2(p+q)/2다.

Q1Q_1Q2Q_2는 둘 다 가느다란 다각형이다. 2gp+q2g \le p+q이면 Q1Q_1을, 그렇지 않으면 Q2Q_2를 출력한다. 즉 넓이가 더 작은 쪽을 출력하고, 두 넓이가 같으면 Q1Q_1을 출력한다.

입력

첫 줄에 테스트 케이스의 개수 nn이 주어진다 (1n1051 \le n \le 10^5). 다음 nn개의 줄에 테스트 케이스가 한 줄에 하나씩 주어진다. 각 줄은 두 정수 xbbx_{bb}ybby_{bb}로 이루어진다 (2xbb1092 \le x_{bb} \le 10^9, 2ybb1092 \le y_{bb} \le 10^9).

출력

각 테스트 케이스마다 다음 형식으로 출력한다.

4
x1 y1
x2 y2
x3 y3
x4 y4

첫 줄은 꼭짓점의 개수이고 항상 44다. 이어지는 네 줄에 문제에서 정한 순서대로 꼭짓점을 하나씩 출력하며, 두 좌표는 공백 하나로 구분한다.