Circles - Tangent to a Circle

Time Limit : 1 sec, Memory Limit : 65536 KB

円の接線

点 $p$ を通る円 $c$ の接線を求めてください。

入力

点 $p$ の座標, 円 $c$ の座標と半径が以下の形式で与えられます。

$px \; py$
$cx \; cy \; r$

$px$, $py$, は点 $p$ の $x$ 座標, $y$ 座標を表します。$cx$, $cy$, $r$ は円 $c$ の $x$ 座標, $y$ 座標, 半径を表します。入力の座標はすべて整数で与えられます。

出力

円 $c$ の円周上の接点の座標を次の規則に従い空白区切りで出力してください。

  • $x$ 座標が小さいものを先に出力する。 $x$ 座標が同じ場合は $y$ 座標が小さいものを先に出力する。

出力は 0.00001 以下の誤差を含んでもよいものとします。

制約

  • $-1,000 \leq px, py, cx, cy \leq 1,000$
  • $1 \leq r \leq 1,000$
  • 点 $p$ が円 $c$ の円周上または円の内部に与えられることはない。

入力例 1

0 0
2 2 2

出力例 1

0.0000000000 2.0000000000
2.0000000000 0.0000000000

入力例 2

-3 0
2 2 2

出力例 2

0.6206896552 3.4482758621
2.0000000000 0.0000000000