イカのエーコは数学が大好きである。 彼女は特に整数について考えるのが好きである。 ある日ネットサーフィンをしていたエーコは以下の問題を見つけた。
“数列 a ={ a0 , … an | i が0ならば偶数,それ以外の場合は 奇数}から数列 b ={ ai + aj | i < j } が生成される。数列 bが与えられるので元の数列 a を求めよ”
この問題はエーコにとっては簡単で退屈だったのでこの問題を少し変えて以下の問題を作った。
“数列 a ={ a0 , … an | i が0ならば偶数,それ以外の場合は奇数} から数列 b ={ ai * aj | i < j } が生成される。数列 b が与えられるのでそこから数列 a を求めよ”
あなたの仕事はエーコが作った問題をとくことである。
入力は複数のデータセットからなる。各入力は以下の形式で与えられる。
n b0 b1 … b(n*(n+1)/2)-1
bi はひとつの空白で区切られている。 n は数列 a に含まれる奇数の数を示し n の値は2 ≤ n ≤ 250である。 それぞれの bi は1 ≤ bi ≤ 263-1以下である。 入力の終わりはひとつの0からなる行である。
出力は入力データセットごとに1行目に1つの偶数を出力して,2行目には n 個の奇数を昇順に、1つの空白で区切って出力すること。 出力される値は1以上 231-1以下 であるとしてよい。
3 6 10 14 15 21 35 2 30 42 35 0
2 3 5 7 6 5 7