#include <bits/stdc++.h>
using namespace std;
int n, l;
double d[1001];
int pre[1001];
int x[1001], b[1001];
vector<int> ans;
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n >> l;
  for (int i = 1; i <= n; ++i) cin >> x[i] >> b[i];
  double lo = 0, hi = 1000, mid;
  for (int times = 0; times < (int)(50); ++times) {
    mid = (lo + hi) / 2;
    d[0] = 0;
    for (int i = 1; i <= n; ++i) {
      d[i] = -1e30;
      pre[i] = -1;
      for (int j = 0; j < (int)(i); ++j) {
        double dd = d[j] + b[i] * mid - sqrt(double(abs(l - abs(x[j] - x[i]))));
        if (dd > d[i]) {
          d[i] = dd;
          pre[i] = j;
        }
      }
    }
    if (d[n] >= 0) {
      ans.clear();
      int cur = n;
      while (cur > 0) {
        ans.push_back(cur);
        cur = pre[cur];
      }
      hi = mid;
    } else {
      lo = mid;
    }
  }
  reverse(ans.begin(), ans.end());
  for (int i = 0; i < (int)(ans.size()); ++i) cout << ans[i] << ' ';
  cout << '\n';
  return 0;
}
