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

Задача . C. Можно ли построить квадрат?


У Калина есть \(n\) ведер, \(i\)-е из которых содержит \(a_i\) деревянных квадратов со стороной длиной \(1\).

Может ли Калин построить один большой квадрат, используя все заданные квадраты?

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

Первая строка содержит одно целое число \(t\) (\(1 \leq t \leq 10^4\)) — количество наборов входных данных.

Первая строка каждого набора входных данных содержит одно целое число \(n\) (\(1 \leq n \leq 2 \cdot 10^5\)) — количество ведер.

Вторая строка каждого набора входных данных содержит \(n\) целых чисел \(a_1, \ldots, a_n\) (\(1 \leq a_i \leq 10^9\)) — количество квадратов в каждом ведре.

Сумма \(n\) по всем тестам не превышает \(2 \cdot 10^5\).

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

Для каждого набора входных данных выведите «YES», если Калин может построить квадрат, используя все заданные квадраты \(1 \times 1\), и «NO» в противном случае.

Вы можете вывести ответ в любом регистре (например, строки «yEs», «yes», «Yes» и «YES» будут распознаны как положительный ответ).

Примечание

В первом наборе входных данных Калин может построить квадрат \(3 \times 3\).

Во втором наборе входных данных Калин может построить квадрат \(4 \times 4\).

В третьем наборе входных данных Калин не может построить квадрат, используя все заданные квадраты.


Примеры
Входные данныеВыходные данные
1 5
1
9
2
14 2
7
1 2 3 4 5 6 7
6
1 3 5 7 9 11
4
2 2 2 2
YES
YES
NO
YES
NO

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

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