문제 134
직사각형 안의 정수해
정수 $a$, $b$, $c$와 두 구간 $[x_l,x_r]$, $[y_l,y_r]$가 주어진다. 다음 조건을 만족하는 정수 쌍 $(x,y)$의 개수와 사전순으로 가장 작은 쌍, 가장 큰 쌍을 구해 보자.
\[ ax+by=c,\qquad x_l\le x\le x_r,\qquad y_l\le y\le y_r. \]
사전순으로 비교할 때는 $x$를 먼저 비교하고, $x$가 같으면 $y$를 비교한다. $x_l>x_r$ 또는 $y_l>y_r$이면 해가 없다.
입력
첫 번째 줄에 테스트 케이스의 수를 의미하는 정수 $T$가 주어진다. $(1\le T\le20\,000)$
두 번째 줄부터 $T$개의 줄에 걸쳐 정수 $a$, $b$, $c$, $x_l$, $x_r$, $y_l$, $y_r$가 공백으로 구분되어 주어진다. $(-10^{12}\le a,b,c,x_l,x_r,y_l,y_r\le10^{12})$
출력
각 테스트 케이스에 대해 해의 개수, 사전순으로 가장 작은 해의 $x$와 $y$, 가장 큰 해의 $x$와 $y$, $\gcd(\lvert a\rvert,\lvert b\rvert)$를 차례대로 공백으로 구분하여 한 줄에 출력한다. 해가 없으면 해의 개수와 네 좌표는 모두 $0$을 출력한다.
$\gcd(0,0)=0$으로 정의한다. 출력하는 모든 값은 부호 있는 $128$비트 정수 범위 안에 든다.
예제 입력 1
6 0 0 0 -2 2 -3 3 0 0 1 -2 2 -3 3 3 5 1 -5 5 -5 5 0 -2 4 -3 3 -3 3 7 0 14 1 0 -1 1 -3 7 2 -10 10 -10 10
예제 출력 1
35 -2 -3 2 3 0 0 0 0 0 0 0 2 -3 2 2 -1 1 7 -3 -2 3 -2 2 0 0 0 0 0 7 3 -10 -4 4 2 1