신비로운 수
시간 제한0.25초메모리 제한256 MB
N개의 정수가 주어질 때, 모두 M으로 나눈 나머지가 같아지는 가장 큰 M을 구하거나, 그런 M이 무한히 커지면 INFINITY를 출력한다.
문제
0이 아닌 정수 N개가 주어졌을 때, 0이 아닌 정수 M이 다음 성질을 만족하면 M은 N개의 정수에 대해 신비로운 수라고 한다.
- N개의 정수를 M으로 나눈 나머지가 모두 같다.
임의의 N개의 정수에 대해 신비로운 수는 적어도 하나 이상 존재한다. 예를 들어, 1은 N개의 정수와 상관없이 항상 신비로운 수이다.
N개의 수가 주어졌을 때, N개의 정수에 대해 신비로운 수 중에서 가장 큰 수를 구해보자.
입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 두 줄로 이루어져 있고, 첫째 줄에 N, 둘째 줄에 N개의 정수가 주어진다.
출력
각각의 테스트 케이스마다 N개의 정수에 대한 가장 큰 신비로운 수를 출력한다. 만약 신비로운 수가 무한대로 발산하는 경우 "INFINITY"를 출력한다.
제한
- 1 ≤ N ≤ 2,000
- -109 ≤ N개의 정수 ≤ 109
힌트
임의의 정수 p를 0이 아닌 임의의 정수 q로 나눈 나머지는 0 ≤ p - a×q < q를 만족하는 유일한 정수 a에 따라서 정해진다. 이때 나머지는 p - a×q이다.
예를 들어, p = 7, q = 3인 경우 나머지는 1, p = -7, q = 3인 경우 나머지는 2이다.