func_code_string: #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;   }   