시간 제한메모리 제한제출정답맞힌 사람정답 비율
3 초 1024 MB6641489820.851%

문제

길이 $N$의 양의 정수로 이루어진 수열 $A$가 주어질 때, 중복 집합(multiset) $M$을 다음과 같이 정의하자. 중복 집합이란, 중복된 원소를 허용하는 집합을 의미한다.

$M=\{A_{i}\times A_{j} \mid 1\leq i,j\leq N\}$

중복 집합 $M$의 모든 원소가 주어질 때, 원래의 수열 $A$를 찾아보자.

입력

첫 번째 줄에 수열 $A$의 길이인 양의 정수 $N$이 주어진다. $(1\leq N \leq 1\,000)$

두 번째 줄에 중복 집합 $M$의 원소인 $m_1,m_2,\dots, m_{N^2}$이 공백으로 구분되어 주어진다. $\left(1\leq m_i \leq 10^{18}\right)$

출력

만약 원래의 수열 $A$를 구성할 수 있다면, 첫 번째 줄에 YES를 출력하고 두 번째 줄에 수열 $A$의 원소인 $A_{1}, A_{2}, \dots , A_{N}$을 공백으로 구분하여 출력한다.

그렇지 않다면 첫 번째 줄에 NO를 출력한다.

가능한 답이 여러 개라면 그중 아무거나 출력한다.

예제 입력 1

3
1 2 2 1 2 1 1 2 4

예제 출력 1

YES
1 1 2

예제 입력 2

2
1 3 4 9

예제 출력 2

NO