Олимпиадный тренинг

Задача . B. Одинаковые прямоугольники


Вам задано \(4n\) палочек, длина \(i\)-й палочки равна \(a_i\).

Вам необходимо составить \(n\) прямоугольников, каждый из которых будет состоять ровно из \(4\) палочек из заданного набора. Прямоугольник имеет четыре стороны, противоположные стороны должны иметь одинаковые длины и все углы в нем должны быть прямые. Заметьте, что каждая палочка может быть использована только в одном прямоугольнике. Каждая палочка должна быть использована как сторона, вы не можете ломать палочки или использовать не ее полную длину.

Вы хотите, чтобы все прямоугольники имели одинаковую площадь. Площадь прямоугольника со сторонами \(a\) и \(b\) равна \(a \cdot b\).

Ваша задача — сказать, возможно ли составить ровно \(n\) прямоугольников одинаковой площади или нет.

Вам необходимо ответить на \(q\) независимых запросов.

Входные данные

Первая строка входных данных содержит одно целое число \(q\) (\(1 \le q \le 500\)) — количество запросов. Затем следуют \(q\) запросов.

Первая строка каждого запроса содержит одно целое число \(n\) (\(1 \le n \le 100\)) — количество прямоугольников.

Вторая строка запроса содержит \(4n\) целых чисел \(a_1, a_2, \dots, a_{4n}\) (\(1 \le a_i \le 10^4\)), где \(a_i\) равно длине \(i\)-й палочки.

Выходные данные

Для каждого запроса выведите ответ на него. Если невозможно составить ровно \(n\) прямоугольников одинаковой площади при помощи заданных палочек, выведите «NO». Иначе выведите «YES».


Примеры
Входные данныеВыходные данные
1 5
1
1 1 10 10
2
10 5 2 10 1 1 2 5
2
10 5 1 10 5 1 1 1
2
1 1 1 1 1 1 1 1
1
10000 10000 10000 10000
YES
YES
NO
YES
YES

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя