#include <bits/stdc++.h>
using namespace std;
int z, n, L;
long double diff[1008];
int x[1008];
int b[1008];
int res[2][1008];
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n >> L;
  for (int i = 1; i <= n; i++) {
    cin >> x[i] >> b[i];
  }
  for (int i = 1; i <= n; i++) diff[i] = -1000000001;
  long double l = 0, r = 1000000001;
  int last = 0;
  while (fabs(l - r) > 1e-7) {
    long double m = (l + r) / 2;
    for (int i = 1; i <= n; i++) diff[i] = -1000000001;
    for (int i = 1; i <= n; i++) {
      for (int j = 0; j < i; j++) {
        long double f = sqrt(abs(x[i] - x[j] - L));
        long double cand = diff[j] - f + m * b[i];
        if (diff[i] < cand) {
          diff[i] = cand;
          res[last][i] = j;
        }
      }
    }
    if (diff[n] >= 0) {
      r = m;
    } else {
      l = m;
      last = 1 - last;
    }
  }
  vector<int> ret;
  int cur = n;
  while (cur) ret.push_back(cur), cur = res[1 - last][cur];
  reverse(ret.begin(), ret.end());
  for (int i = 0; i < ret.size(); i++) cout << ret[i] << " ";
  cout << endl;
  return 0;
}
