#include #define ll long long using namespace std; int n, r, br = 1, pos = 1; vector poz; struct kord{ ll x; ll y; ll i; }; ll square(ll x) {return x * x;} bool cmp(kord a, kord b){ return a.x < b.x; } kord a[1000005]; kord b[1000005]; int main(){ freopen("mars.in","r",stdin); freopen("mars.out","w",stdout); cin >> n >> r; for(int i = 1; i <= n; i++){ cin >> a[i].x >> a[i].y; b[i].x = a[i].x; b[i].y = a[i].y; a[i].i = i; b[i].i = i; } sort(a + 1, a + n + 1, cmp); //for(int i = 1; i < n; i++) cout << a[i].i << " "; bool dodaj; for(int i = 1; i <= n; i++){ dodaj = true; for(int j = poz.size() - 1; j >= 0; j--) { if(square(a[i].x - b[b[poz[j]].i].x) + square(a[i].y - b[b[poz[j]].i].y) < 4 * square(r)) { dodaj = false; break; } } if(dodaj) poz.push_back(a[i].i); } cout << poz.size() << '\n'; for(int i = 0; i < poz.size(); i++) cout << poz[i] << " "; return 0; }