#include <bits/stdc++.h>
using namespace std;
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  int n, v, t, x;
  cin >> n >> v;
  vector<pair<int, int> > a;
  vector<pair<int, int> > b;
  for (int i = 0; i < n; i++) {
    cin >> t >> x;
    if (t == 2) {
      a.push_back({x, i + 1});
    } else {
      b.push_back({x, i + 1});
    }
  }
  sort(a.rbegin(), a.rend());
  sort(b.rbegin(), b.rend());
  int n1 = a.size(), n2 = b.size();
  int best = 0, l1 = -1, l2 = -1;
  int i = 0, w = 0, c = 0;
  while (i < n1 && w + 2 <= v) {
    w += 2;
    c += a[i++].first;
  }
  int j = 0;
  while (j < n2 && w + 1 <= v) {
    w++;
    c += b[j++].first;
  }
  if (c > best) {
    best = c;
    l1 = i;
    l2 = j;
  }
  while (i > 0 && j + 1 < n2) {
    c -= a[--i].first;
    c += b[j++].first;
    c += b[j++].first;
    if (c > best) {
      best = c;
      l1 = i;
      l2 = j;
    }
  }
  cout << best << "\n";
  for (i = 0; i < l1; i++) {
    cout << a[i].second << " ";
  }
  for (i = 0; i < l2; i++) {
    cout << b[i].second << " ";
  }
  return 0;
}
