또또 수열 문제야

시간 제한3초메모리 제한1024 MB

문제

길이 $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를 출력한다.

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