분수 XOR 최대화
시간 제한2초메모리 제한512 MB
두 구간 [a, b]와 [c, d]에서 각각 실수를 골라 이진 전개를 XOR할 때 나올 수 있는 값의 상한을 구합니다.
문제
실수 와 에 대한 비트 XOR 연산 를 다음과 같이 정의한다. 오른쪽 식의 는 정수 비트 XOR 연산이다. 예를 들어 , , 이다.
집합 의 상한 는 의 모든 원소보다 크거나 같은 가장 작은 실수이다.
음이 아닌 유리수 , , , 가 주어진다. 를 구하라. 즉 의 원소와 의 원소로 만든 모든 XOR 값보다 크거나 같은 가장 작은 값을 구하라.
입력
첫 줄에 테스트 케이스 수 ()가 주어진다. 각 테스트 케이스는 두 줄로 이루어진다. 첫 줄에는 과 을 나타내는 정수 , , , (, )이 주어진다. 둘째 줄에는 같은 형식으로 와 가 주어진다. 모든 분수는 기약분수이며, 와 가 보장된다.
출력
줄에 걸쳐 각 테스트 케이스의 답 의 분자와 분모를 한 칸 띄워 출력한다. 답은 기약분수로 나타낸다.
힌트
첫 번째 테스트 케이스의 답은 이다. 첫 번째 구간에서 을, 두 번째 구간에서 를 고르면 충분히 큰 정수 에 대해 XOR 값을 에 한없이 가깝게 만들 수 있다. 그러나 이상의 값은 어떤 경우에도 만들 수 없다.