#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, T;
  scanf("%d %d", &n, &T);
  vector<vector<pair<int, int> > > at(n + 1);
  for (int i = 0; i < n; i++) {
    int foo, bar;
    scanf("%d %d", &foo, &bar);
    at[foo].emplace_back(bar, i);
  }
  vector<int> res;
  set<pair<int, int> > s;
  int sum = 0;
  for (int k = n; k > 0; k--) {
    for (auto &p : at[k]) {
      sum += p.first;
      s.emplace(p);
    }
    while ((int)s.size() > k) {
      sum -= (--s.end())->first;
      s.erase(--s.end());
    }
    if ((int)s.size() == k && sum <= T) {
      for (auto &p : s) {
        res.push_back(p.second);
      }
      break;
    }
  }
  int sz = (int)res.size();
  printf("%d\n%d\n", sz, sz);
  for (int i = 0; i < sz; i++) {
    if (i > 0) {
      putchar(' ');
    }
    printf("%d", res[i] + 1);
  }
  printf("\n");
  return 0;
}
