#D12277. Cross Points of a Circle and a Line
Cross Points of a Circle and a Line
Cross Points of a Circle and a Line
For given a circle and a line , print the coordinates of the cross points of them.
Constraints
- and are different
- The circle and line have at least one cross point
Input
The input is given in the following format.
:
In the first line, the center coordinate of the circle and its radius are given by , and . In the second line, the number of queries is given.
In the following lines, as queries, are given () in the following format.
Each line is represented by two points and which the line crosses. The coordinate of and are given by (, ) and (, ) respectively. All input values are given in integers.
Output
For each query, print the coordinates of the cross points in the following rules.
- If there is one cross point, print two coordinates with the same values.
- Print the coordinate with smaller first. In case of a tie, print the coordinate with smaller first.
The output values should be in a decimal fraction with an error less than 0.000001.
Example
Input
2 1 1 2 0 1 4 1 3 0 3 3
Output
1.00000000 1.00000000 3.00000000 1.00000000 3.00000000 1.00000000 3.00000000 1.00000000
inputFormat
Input
The input is given in the following format.
:
In the first line, the center coordinate of the circle and its radius are given by , and . In the second line, the number of queries is given.
In the following lines, as queries, are given () in the following format.
Each line is represented by two points and which the line crosses. The coordinate of and are given by (, ) and (, ) respectively. All input values are given in integers.
outputFormat
Output
For each query, print the coordinates of the cross points in the following rules.
- If there is one cross point, print two coordinates with the same values.
- Print the coordinate with smaller first. In case of a tie, print the coordinate with smaller first.
The output values should be in a decimal fraction with an error less than 0.000001.
Example
Input
2 1 1 2 0 1 4 1 3 0 3 3
Output
1.00000000 1.00000000 3.00000000 1.00000000 3.00000000 1.00000000 3.00000000 1.00000000
样例
2 1 1
2
0 1 4 1
3 0 3 3
1.00000000 1.00000000 3.00000000 1.00000000
3.00000000 1.00000000 3.00000000 1.00000000
</p>