#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n, m, i, j;
  scanf("%lld %lld", &n, &m);
  long long int si = n * 2;
  long long int arr[si + 10];
  long long int sum = 0;
  for (i = 1; i <= si; i++) {
    scanf("%lld", &arr[i]);
    if (i % 2 == 1) {
      sum = sum + arr[i];
    }
  }
  if (sum <= m) {
    printf("0\n");
  } else {
    long long int ans[n + 10];
    j = 0;
    for (i = 1; i < si; i = i + 2) {
      ans[j] = arr[i] - arr[i + 1];
      j++;
    }
    sort(ans, ans + n);
    long long int cnt = 0;
    int t = 1;
    for (j = n - 1; j >= 0; j--) {
      if ((sum - ans[j]) <= m) {
        cnt++;
        t = 0;
        break;
      } else {
        sum = sum - ans[j];
        cnt++;
      }
    }
    if (t == 1) {
      printf("-1\n");
    } else {
      printf("%lld\n", cnt);
    }
  }
  return 0;
}
