시간 제한메모리 제한제출정답맞힌 사람정답 비율
2.5 초 (추가 시간 없음) 1024 MB (추가 메모리 없음)244076458431.791%

문제

양의 정수로 이루어진 길이가 $N$ 인 수열 $A_1,A_2,\cdots ,A_N$이 존재할 때, 다음 행동을 원하는 만큼 반복할 수 있다.

$1\leq i,j\leq N;i\neq j$이면서 $A_i\times A_j$가 제곱수인 $i$, $j$를 선택해, $A_i$와 $A_j$의 값을 바꾼다.

위 행동을 원하는 만큼 반복하여 수열 $A_1,A_2,\cdots ,A_N$을 비내림차순, 즉 $A_1\le A_2\le\cdots\le A_N$가 되도록 정렬할 수 있는지 판단하시오.

입력

첫 번째 줄에 $N$이 주어진다. $(1\leq N\leq 500\, 000)$

두 번째 줄에 정수 $A_1,A_2,\cdots ,A_N$이 공백으로 구분되어 주어진다. $(1\leq A_i\leq 10^{18})$

출력

위 행동을 원하는 만큼 반복하여 수열을 비내림차순으로 정렬할 수 있으면 YES, 아니면 NO를 출력하시오.

예제 입력 1

4
1 27 3 12

예제 출력 1

YES
  • $27$과 $12$의 곱은 $324$다. $324=18^2$이 제곱수이므로 $27$과 $12$의 값을 바꿀 수 있고, 수열은 $[1,12,3,27]$이 된다.
  • $12$와 $3$의 곱은 $36$이다. 마찬가지로 $36=6^2$이 제곱수이므로 $12$와 $3$의 값을 바꿀 수 있고, 수열은 $[1,3,12,27]$이 된다.
$[1,3,12,27]$은 비내림차순으로 정렬된 상태이므로 답은 YES가 된다.

예제 입력 2

2
2 1

예제 출력 2

NO