#include <bits/stdc++.h>
using namespace std;
const long double pi = acos(-1.0);
const long double eps = 1e-9;
const int MAXN = 1000007;
const double INF = 1000000000000000.0;
int n, l;
int x[MAXN];
int b[MAXN];
int p[MAXN];
double dp[MAXN];
bool check(double r) {
  for (int i = 1; i <= n; ++i) dp[i] = INF;
  for (int i = 1; i <= n; ++i)
    for (int prev = 0; prev <= i - 1; ++prev)
      if (dp[prev] != INF) {
        double pen = sqrt(fabs(x[i] - x[prev] - l));
        double c = dp[prev] + pen - b[i] * r;
        if (c < dp[i]) {
          dp[i] = c;
          p[i] = prev;
        }
      }
  return dp[n] <= 0;
}
vector<int> solve() {
  cin >> n >> l;
  for (int i = 1; i <= n; ++i) cin >> x[i] >> b[i];
  double l = 0, r = INF;
  for (int iter = 0; iter < 77; ++iter) {
    double med = (l + r) / 2;
    if (check(med))
      r = med;
    else
      l = med;
  }
  check(r);
  vector<int> res;
  int x = n;
  while (x) {
    res.push_back(x);
    x = p[x];
  }
  reverse((res).begin(), (res).end());
  return res;
}
int main() {
  ios_base::sync_with_stdio(0);
  auto t = solve();
  for (int x : t) cout << x << " ";
  cout << endl;
}
