spoj#PCPC12J. Amr Samir
Amr Samir
Amr started to learn division. So he gave a list of numbers to his friend and asked him to find all the divisors of each number in the given list. Now Amr has a new list of numbers containing all divisors of his original list.
As Amr loves playing with numbers, he now thinks about the repeated numbers in the new list of divisors. However this time Amr is interested in the luckiest divisor!
Lucky divisor is defined by Amr as follows: a divisor D is lucky if D divides f, where f is the frequency of this number D in the new list. Obviously f must be greater than zero.
The luckiest divisor is the divisor D that divides f where f is the maximum and D is the smallest one.
Since Amr is too lazy to write a program that solves this problem, he decided to submit it to the PCPC chief judge to put it as a problem for the teams to write a solution to it. Can you write this program for Amr?
Input Specification
The first line contains a positive integer t <= 100, then follow t test cases. Each test case start with a line containing a single positive integer n <= 10000 number of divisors in Amr’s new list, then follows n positive integers a1, ai, …an (ai<= 100).
Output Specification
Your code should print an integer for each test case representing the luckiest divisor or -1 if there is no lucky divisor.
Sample Input
2
5
2 2 3 3 3
7
2 2 2 2 3 3 3
Sample Output
3
2