#include <bits/stdc++.h>
using namespace std;
const int N = 100001;
int n, len;
int x[N];
int b[N];
int pre[N];
int out[N];
double dp[N];
bool check(double ans) {
  for (int i = 1; i <= n; i++) {
    dp[i] = 1e30;
    for (int j = 0; j < i; j++) {
      double temp = dp[j] + sqrt(1e-8 + abs(x[i] - x[j] - len)) - ans * b[i];
      if (dp[i] > temp) {
        dp[i] = temp;
        pre[i] = j;
      }
    }
  }
  return dp[n] < 0;
}
int main() {
  cin >> n >> len;
  for (int i = 1; i <= n; i++) {
    cin >> x[i] >> b[i];
  }
  double l = 0;
  double r = 1e10;
  double mid;
  while ((r - l) > 1e-8) {
    mid = (l + r) / 2.0;
    if (check(mid)) {
      r = mid;
    } else {
      l = mid;
    }
  }
  check(l);
  len = 0;
  out[0] = n;
  while (pre[out[len]]) {
    out[len + 1] = pre[out[len]];
    len++;
  }
  for (int i = len; i >= 0; i--) {
    cout << out[i] << " ";
  }
  cout << endl;
  return 0;
}
