Consider a set of N points with floating point coordinates (xi, yi), 1 ≤ i ≤ N in the two-dimensional space, and a circle of radius R.
The circle is initially placed at coordinates (Cx, Cy), and touches two points with indices a, b (that is, the two points are on the surface of the circle, and there are no points inside). An operation is defined by choosing one of the two points on the circle and using it as a pivot. The circle is rotated smoothly around the pivot, until it touches some other point. During an operation, the circle must be in contact with the pivot, and no points can lie inside of it.
Operations can be applied in any order, and points can be reached multiple times. Your task is to determine the largest possible set of points that can be reached by the circle, after any number of operations.
Input
The first line of input contains integers N, R.
The second line of input contains integers a, b.
The third line of input contains two real values: Cx, Cy.
Each of the following N lines contains two real values xi, yi.
Output
The first line of output should contain K - the size of the largest set of reachable points.
The second line of output should contain K space separated integers: the indices of reachable points, in ascending order.
Constraints
- 2 ≤ N ≤ 4000
- 10 ≤ R ≤ 200
- 0 ≤ xi, yi ≤ 1000
- It is guaranteed that at most 200 reachable points exist.
Sample
Input | Output |
---|---|
28 100 1 2 130.24592005116466 860.8676393142922 34.836747 890.819095 64.021355 785.938960 102.596051 664.563259 141.099920 560.969361 188.422746 455.729995 208.064904 350.871960 228.860912 244.639695 257.967430 140.765620 286.070657 34.252475 306.448235 155.011730 335.702792 260.082035 363.452510 365.653450 412.770018 469.020465 441.483855 575.141420 470.276273 680.240975 518.913148 589.302889 558.786385 485.650674 596.158261 379.986359 636.515020 275.996974 693.153885 185.706935 741.931640 95.853499 791.536896 215.859490 810.909774 335.399804 829.687212 455.287965 858.456210 560.634731 879.138851 665.803459 907.103038 770.922214 955.217464 874.904969 | 28 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
This testcase corresponds to the animation shown above. All 28 points can be reached by the circle.