In Search of the Lost Array

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

문제

In a forgotten realm, a group of adventurers stumbles upon a set of mysterious scrolls hidden deep within an ancient library. These scrolls hold the secrets of a powerful numerical array that controls the magic of the realm. However, the scrolls have been damaged over time, and only fragments remain. Specifically, the adventurers discover a sequence of numbers representing the products of adjacent elements of an unknown array $A$.

The original array $A$ consists of $n$ integers $a_1, a_2,\dots ,a_n$ where $1 ≤ a_i ≤ 100$ for $1 ≤ i ≤ n$. The only information remaining on the scrolls is a sequence of $n - 1$ integers $b_1, b_2,\dots ,b_{n-1}$, which are unordered products of adjacent elements from $A$. In other words: $$\{b_1, b_2,\dots ,b_{n-1}\} = \{a_1 \times a_2, a_2 \times a_3, \dots ,a_{n-1} \times a_n\}$$

Your task is to help the adventurers reconstruct one possible original array $A$. If there are multiple valid arrays $A$ that could result in the same sequence $b$, you may output any of them.

입력

The first line contains a single integer $n$, representing the length of the array $A$. The second line contains $n - 1$ space-separated integers $b_1, b_2,\dots ,b_{n-1}$, representing the products of adjacent elements in the array $A$.

출력

If there is no such array $A$, then print No on a line. Otherwise, print Yes on the first line. Then, output $n$ space-separated integers $a_1, a_2,\dots ,a_n$ on the second line, where $\{b_1, b_2,\dots ,b_{n-1}\} = \{a_1 \times a_2, a_2 \times a_3, \dots ,a_{n-1} \times a_n\}$.

제한

  • $1 < n ≤ 18$. $1 ≤ a_i ≤ 100$ for $i \in \{1, 2,\dots ,n\}$
  • $1 ≤ b_i ≤ 10000$ for$i \in \{1, 2,\dots ,n-1\}$