Point of view in Flatland

Time Limit: 1000ms
Memory Limit: 65536KB
This problem will be judged on PKU. Original ID: 3285
64-bit integer IO format: %lld      Java class name: Main

Description

Everything is flat in Flatland. The planets are round but they are flat, that is, they are discs in a plane.

The centers of three planets in Flatland are given and their radii. Find the point in Flatland from which all three planets are visible at the same angle, that is, they appear to have the same size measured as angular diameter. Let's call such a point an isoobservation point. There can be at most two such points and we are interested in finding the one that gives the largest angular diameter of the planets.

Input

Input consists of several cases, each case is presented at a single line. Each line has nine numbers, three for each disc. Each triple has x and y coordinates of the disc center and the radius r of that disc. The input is terminated by a line with nine zeros and this line should not be processed.

Output

For each case of input, print the x and y coordinates of the isoobservation point as described above in the format shown in the sample; but if there is no such point, print   No solution

Sample Input

10 10 1 30 30 1 50 10 1
0 30 1.0 30 0 1.0 40 40 1.0
10 30 1.0 31 0 1.0 42 43 1.0
10 42 1 62.8 62.8 1 52.5 -25.3 1
10 42 1.1 62.8 62.8 1.2 52.5 25.3 25
0 0 0 0 0 0 0 0 0

Hint

To simplify the problem you may assume that:

  • The discs centers are not all collinear.
  • The discs are totally disjoint.
  • The discs are transparent and non-refractive. That is, a disc is visible and has the same apparent shape and size, whether or not there's another disc in front of it.
  • The input data are such that the existence or non-existence of such a point is computable, even with slight rounding error. But use double-precision, eh?

Source

Language: 
Theme: 
Share Code? 

Powered by NB231 | Current Style: .