#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
const double eps = 1e-12;
double f[N];
int n, l, d[N], p[N], pre[N];
double check(double m) {
  memset(pre, 0, sizeof(0));
  for (int i = (1); i <= (n); i++) {
    f[i] = 1e10;
    for (int j = (0); j <= (i - 1); j++) {
      double tmp = f[j] + sqrt(fabs(.0 + d[i] - d[j] - l)) - m * p[i];
      if (tmp < f[i]) f[i] = tmp, pre[i] = j;
    }
  }
  return f[n];
}
int main() {
  cin >> n >> l;
  for (int i = (1); i <= (n); i++) scanf("%d%d", &d[i], &p[i]);
  double l = 0, r = 1e10;
  while (r - l > eps) {
    double m = (l + r) / 2;
    if (check(m) > eps)
      l = m;
    else
      r = m;
  }
  for (int i = n; i; i = pre[i]) d[++d[0]] = i;
  sort(d + 1, d + 1 + d[0]);
  for (int i = (1); i <= (d[0] - 1); i++) printf("%d ", d[i]);
  cout << d[d[0]] << endl;
  return 0;
}
