B. Т-простые числа
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Известно, что простыми называются целые положительные числа, у которых ровно два различных положительных делителя. По аналогии назовем целое положительное число t Т-простым, если у t ровно три различных положительных делителя.

Вам дан массив, состоящий из n целых положительных чисел. Для каждого из них определите, является ли оно Т-простым или нет.

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

Первая строка содержит единственное целое число — количество чисел в массиве, n (1 ≤ n ≤ 105). Следующая строка содержит n целых чисел xi (1 ≤ xi ≤ 1012), разделенных пробелами.

Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-битных чисел на С++. Рекомендуется использовать потоки cin, cout или спецификатор %I64d.

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

Выведите n строк: i-тая строка должна содержать «YES» (без кавычек), если число xi является Т-простым, и «NO» (без кавычек), если не является.

Примеры
Входные данные
3
4 5 6
Выходные данные
YES
NO
NO
Примечание

В приведенном тесте даны три числа. Первое число 4 имеет ровно три делителя — 1, 2 и 4, поэтому ответ для этого числа — «YES». Второе число 5 имеет два делителя (1 и 5), а третье число 6 — четыре делителя (1, 2, 3, 6), поэтому ответ для них — «NO».