중국인의 나머지 정리
시간 제한1초메모리 제한256 MB
각 i에 대해 a_i ≡ b_i (mod m)가 성립하는 가장 큰 m을 구한다. a_i ≥ b_i이므로 m은 모든 차 a_i - b_i를 나누는 수 중 가장 커야 한다.
문제
Johnny는 컴퓨터 과학과 학생이다. 이번 학기에 그는 중국인의 나머지 정리를 완벽하게 익혔다. 다음 강의를 기다리던 중 Maggie가 숙제를 풀지 못한다고 불평하는 소리를 들었다. "모듈로"와 "연립방정식"이라는 익숙한 단어가 들리자마자 그는 곤경에 빠진 Maggie에게 도움을 주겠다고 나섰다. 알고 보니 Maggie의 과제는 Johnny가 익숙하게 풀던 것과는 전혀 달랐고, 다음과 같은 형태였다:
(여기서 는 모듈로 에 대한 합동을 뜻한다.) 주어진 에 대해 Maggie는 모든 방정식이 성립하도록 하는 가장 큰 을 구해야 한다. Maggie는 이미 방정식들을 처리하기 시작했고, 각 에 대해 임을 확인했다. Johnny는 실패해서 체면을 잃을 수 없다. 그를 도와 이 과제를 해결하자.
입력
첫째 줄에 방정식의 개수 ()이 주어진다.
둘째 줄에 개의 정수 이 공백 하나로 구분되어 주어진다. 이는 연속한 방정식들의 좌변에 해당한다.
셋째 줄이자 마지막 줄에 개의 정수 이 공백 하나로 구분되어 주어진다. 이는 연속한 방정식들의 우변에 해당한다.
각 ()에 대해 이 성립한다. 연립방정식은 자명하지 않다. 즉, 어떤 ()에 대해 이다.
출력
첫째 줄이자 유일한 줄에 하나의 정수를 출력한다. 이는 주어진 연립방정식이 성립하는 가장 큰 이다.
힌트
예제 1의 경우 연립방정식 가 성립하며, 일 때 성립하지 않음은 쉽게 확인할 수 있다.
예제 2의 경우 연립방정식 가 성립하며, 일 때 성립하지 않음은 쉽게 확인할 수 있다.