#include <bits/stdc++.h>
using namespace std;
int a[105], b[105];
long long tinh(long long x, int n, int nc) {
  long long i, cnt = 0;
  for ((i) = (1); (i) <= (n); (i)++) {
    cnt += (((long long)a[i] * x) / b[i]) + 1;
    if (cnt > nc) return 1001001001;
  }
  return cnt;
}
void input() {
  int i, n, nc;
  int dau, giua, cuoi;
  int l, r;
  scanf("%d %d", &n, &nc);
  for ((i) = (1); (i) <= (n); (i)++) scanf("%d %d", &a[i], &b[i]);
  dau = 1, cuoi = 1001001001;
  while (dau <= cuoi) {
    giua = (dau + cuoi) >> 1;
    long long val = tinh(giua, n, nc);
    if (val > nc)
      cuoi = giua - 1;
    else
      dau = giua + 1;
  }
  r = cuoi;
  dau = 1, cuoi = 1001001001;
  while (dau <= cuoi) {
    giua = (dau + cuoi) >> 1;
    long long val = tinh(giua, n, nc);
    if (val < nc)
      dau = giua + 1;
    else
      cuoi = giua - 1;
  }
  l = dau;
  if (r < l)
    printf("0\n");
  else if (r == 1001001001)
    printf("-1\n");
  else
    printf("%d\n", r - l + 1);
}
int main() {
  input();
  return 0;
}
