#include <bits/stdc++.h>
using namespace std;
const int N = 100005;
const int mod = 1e9 + 7;
double eps = 1e-9;
int n, m, x[N], b[N], ne[N], pos, num, ans[N];
double l, r, mid, f[N];
int sign(double x) { return (x > eps) - (x < -eps); }
int main() {
  scanf("%d%d", &n, &m);
  for (int i = (1); i < (n + 1); i++) scanf("%d%d", &x[i], &b[i]);
  l = 0;
  r = 1e9;
  while (l + eps <= r) {
    mid = (l + r) / 2;
    for (int i = (1); i < (n + 1); i++) {
      ne[i] = 0;
      f[i] = sqrt(abs(x[i] - m)) - mid * b[i];
      for (int j = (1); j < (i); j++) {
        if (f[i] > f[j] + sqrt(abs(x[i] - x[j] - m)) - mid * b[i]) {
          f[i] = f[j] + sqrt(abs(x[i] - x[j] - m)) - mid * b[i];
          ne[i] = j;
        }
      }
    }
    if (sign(f[n]) <= 0) {
      r = mid;
      num = 0;
      pos = n;
      while (pos) {
        ans[++num] = pos;
        pos = ne[pos];
      }
    } else
      l = mid;
  }
  for (int i = num; i >= 1; i--) printf("%d ", ans[i]);
  return 0;
}
