#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, m;
  cin >> n >> m;
  long long k1 = 0, k2 = 0, x, y, i;
  vector<long long> a(n);
  for (i = 0; i < n; i++) {
    cin >> x >> y;
    k1 += x;
    k2 += y;
    a[i] = x - y;
  }
  if (k2 > m) {
    cout << -1;
  } else {
    sort(a.begin(), a.end());
    reverse(a.begin(), a.end());
    long long z = 0;
    i = 0;
    while (k1 > m) {
      z++;
      k1 -= a[i];
      i++;
    }
    cout << z;
  }
  return 0;
}
