#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-10;
const int maxn = 1008;
double dp[maxn], l;
int x[maxn], b[maxn];
int res[maxn], n;
int mark[maxn];
int pre[maxn];
double cal(double mid) {
  dp[0] = 0;
  for (int i = 1; i <= n; i++) dp[i] = 1e8;
  for (int i = 1; i <= n; i++) {
    for (int j = 0; j < i; j++) {
      double temp = sqrt(fabs(x[i] - x[j] - l));
      temp -= mid * b[i];
      if (dp[j] + temp < dp[i]) {
        dp[i] = dp[j] + temp;
        pre[i] = j;
      }
    }
  }
  return dp[n];
}
int main() {
  x[0] = 0;
  while (scanf("%d%lf", &n, &l) > 0) {
    for (int i = 1; i <= n; i++) {
      scanf("%d%d", x + i, b + i);
    }
    double l = 0, r = 1e6;
    while (r - l > eps) {
      double mid = (l + r) / 2;
      double temp = cal(mid);
      if (temp > 0)
        l = mid;
      else
        r = mid;
    }
    for (int i = n; i; i = pre[i]) mark[i] = 1;
    for (int i = 1; i <= n; i++) {
      if (mark[i]) {
        printf("%d", i);
        if (i == n)
          printf("\n");
        else
          printf(" ");
      }
    }
  }
  return 0;
}
