#include <bits/stdc++.h>
using namespace std;
int T;
int n, x;
struct Node {
  int a, b;
} t[110];
bool flag;
int de, ma;
int main() {
  cin >> T;
  while (T--) {
    cin >> n >> x;
    flag = de = ma = 0;
    for (int i = 1; i <= n; i++) {
      cin >> t[i].a >> t[i].b;
      if (t[i].a > t[i].b) flag = true;
      de = max(de, t[i].a - t[i].b);
      ma = max(t[i].a, ma);
    }
    if (!flag) {
      if (ma >= x)
        puts("1");
      else
        puts("-1");
    } else {
      x -= ma;
      x = max(0, x);
      if (x % de == 0) {
        cout << 1 + x / de << endl;
      } else {
        cout << 1 + x / de + 1 << endl;
      }
    }
  }
  return 0;
}
