#D10237. Tangent to a Circle

    ID: 8508 Type: Default 1000ms 134MiB

Tangent to a Circle

Tangent to a Circle

Find the tangent lines between a point pp and a circle cc.

Constraints

  • 1,000px,py,cx,cy1,000-1,000 \leq px, py, cx, cy \leq 1,000
  • 1r1,0001 \leq r \leq 1,000
  • Distance between pp and the center of cc is greater than the radius of cc.

Input

The input is given in the following format.

px  pypx \; py cx  cy  rcx \; cy \; r

pxpx and pypy represents the coordinate of the point pp. cxcx, cycy and rr represents the center coordinate and radius of the circle cc respectively. All input values are given in integers.

Output

Print coordinates of the tangent points on the circle cc based on the following rules.

  • Print the coordinate with smaller xx first. In case of a tie, print the coordinate with smaller yy first.

The output values should be in a decimal fraction with an error less than 0.00001.

Examples

Input

0 0 2 2 2

Output

0.0000000000 2.0000000000 2.0000000000 0.0000000000

Input

-3 0 2 2 2

Output

0.6206896552 3.4482758621 2.0000000000 0.0000000000

inputFormat

Input

The input is given in the following format.

px  pypx \; py cx  cy  rcx \; cy \; r

pxpx and pypy represents the coordinate of the point pp. cxcx, cycy and rr represents the center coordinate and radius of the circle cc respectively. All input values are given in integers.

outputFormat

Output

Print coordinates of the tangent points on the circle cc based on the following rules.

  • Print the coordinate with smaller xx first. In case of a tie, print the coordinate with smaller yy first.

The output values should be in a decimal fraction with an error less than 0.00001.

Examples

Input

0 0 2 2 2

Output

0.0000000000 2.0000000000 2.0000000000 0.0000000000

Input

-3 0 2 2 2

Output

0.6206896552 3.4482758621 2.0000000000 0.0000000000

样例

-3 0
2 2 2
0.6206896552 3.4482758621

2.0000000000 0.0000000000

</p>