Cellular communication
In a remote region, there are N small villages. A cellular company plans to provide these villages with cellular coverage by constructing transmission stations. For technical reasons, the stations can only be installed within the villages themselves.
The coverage radius of each station and the coordinates of the villages are known. All villages are situated on a flat plain with no obstacles to radio signals, meaning the coverage radius of a station is consistent regardless of its location. If a village lies exactly on the boundary of a station's coverage area, it is considered covered.
The objective is to ensure all villages have coverage by building the minimum number of stations.
Input
The first line of the input contains two integers separated by a space: N (1 ≤ N ≤ 30) — the number of villages, and R (1 ≤ R ≤ 1000) — the coverage radius of the stations. Each of the following N lines provides the coordinates of a village in the Cartesian system (two integers x and y separated by a space, each ranging from 0 to 1000).
Output
The first line of the output should contain an integer M — the minimum number of stations required. On the next line, output M numbers separated by spaces — the indices of the villages where the stations should be installed. The villages are numbered from 1 to N in the order they appear in the input.