Problems

Malfatti Circles

0   (000)

与えられた三角形に対して、その中にある三つの円を決めて、どの二つの円も互いに接し、どの円も三角形の三辺のうちの二辺と接するものを決める問題は、マルファッチの問題と呼ばれている。その三つの円は元の三角形のマルファッチの円と呼ばれる。

マルファッチの問題は、Gianfrancesco Malfatti (1731–1807) が1803年に提案して解決したことにちなんで名付けられたが、実は、マルファッチよりも三十年以上前に解決した数学者がいる。

1773年よりも前のいつか、新庄藩士でもあった安島直円(1732?–1798)が、三角形の三辺の長さから三つの円の直径を求める手続きを与えることでこの問題を解決した。しかし、江戸幕府が鎖国政策を改めた1854年まで、これを含め日本の数学者の研究成果は日本国外には伝わらなかった。

そこで君の使命だが、与えられた三角形に対してマルファッチの円の半径を計算するプログラムを書くことにある。

Input

入力は一行で、空白一文字ごとで区切られた六つの浮動小数点数である。 \[ x_1 \quad y_1 \quad x_2 \quad y_2 \quad x_3 \quad y_3 \]

与えられた三角形の頂点の座標が \((x_1, y_1)\), \((x_2, y_2)\) and \((x_3, y_3)\) である。どの座標値も \(-10^3\) よりも大きく \(10^3\) よりも小さいと仮定してよい。

Output

出力は空白一文字ごとで区切られた三つの浮動小数点数でなくてはならない。 \[ r'_1 \quad r'_2 \quad r'_3 \]

頂点 \((x_i, y_i)\) に最も近いマルファッチの円の半径が \(r'_i\) でなくてはならない。どの出力値も誤差は \(10^{-6}\) よりも小さくなくてはならない。


著者: Hiroyasu Kamo