謎の組織 JAG (Japanese Alumni Group) では定期的に会議を開いている.ある日の議題は「近日行われる ICPC (International Collegiate Programming Contest) 国内予選で参加チームが力を発揮できるようにするには」であった.会議の結論として流れ星に各チームの健闘を祈ることになり,彼らは本部を置く建物の屋上に出た.
彼らが屋上に出ると,空には n 個の流れ星が見えていた.流れ星は3次元空間上の球として表され,1 から n の番号が割り振られている.星に詳しいメンバーにより,各流れ星は一定の速度で直線的に移動すると同時に,一定の速度で半径が小さくなっていくとみなせることが分かった.実際に測定してみたところ,各流れ星の初期位置 (px_i,py_i,pz_i),移動速度 (vx_i,vy_i,vz_i),初期半径 r_i,消滅速度 vr_i が分かった.これは流れ星 i が時刻 t (t≥0) で中心座標 (px_i+tvx_i,py_i+tvy_i,pz_i+tvz_i),半径 r_i–tvr_i の球となる事を表している.流れ星は,半径が 0 になった瞬間に自然消滅してしまう.また,2つの流れ星が接触した場合はどちらの流れ星も消滅してしまう.
あなたの仕事は,効率よく参加チームの健闘を祈ることができるように,各流れ星が消滅するまでの時間を求めることである.彼らの中には卓越した視力の持ち主がいるため,情報が与えられた n 個以外に流れ星が存在する可能性については考慮しなくても良い.加えて,彼らは非常に効率よく流れ星の観測を行ったため,観測にかかった時間は無視できるほど小さいと考えて良い.
入力は複数のデータセットから構成され,1つの入力に含まれるデータセットの数は100以下である. 各データセットの形式は次の通りである.
n
px_1 py_1 pz_1 vx_1 vy_1 vz_1 r_1 vr_1
...
px_n py_n pz_n vx_n vy_n vz_n r_n vr_n
n は流れ星の数を表す整数であり,1 以上 200 以下と仮定して良い.
続く n 行には流れ星の情報が与えられる. 各行は小数点以下4桁で表される8つの値を含み,(px_i,py_i,pz_i) は流れ星 i の初期位置を,(vx_i,vy_i,vz_i) は移動速度を,r_i は初期半径を,vr_i は消滅速度をそれぞれ表す. 与えられる値について,−1,000≤px_i≤1,000,−1,000≤py_i≤1,000,−1,000≤pz_i≤1,000,−100≤vx_i≤100, −100≤vy_i≤100, −100≤vz_i≤100,1≤r_i≤100,1≤vr_i≤100 であると仮定して良い.
また,与えられるデータセットについて以下を仮定して良い.
n=0 は入力の終わりを示す.これはデータセットには含めない.
各データセットについて,各流れ星が消滅するまでの時間を流れ星1から順にそれぞれ1行に出力しなさい.
出力には10−8を超える絶対誤差があってはならない.
それ以外の余計な文字を出力してはならない.