func_code_string: #include <bits/stdc++.h>   using namespace std;   long long fpow(long long x, long long y, long long m) {     long long temp;     if (y == 0 || x == 1) return 1;     temp = fpow(x, y / 2, m);     if (y % 2 == 0)       return ((temp) * (temp)) % m;     else       return (((x) % m) * ((temp * temp) % m)) % m;   }   long long gcd(long long a, long long b) {     if (b == 0) return a;     return gcd(b, a % b);   }   void sieve(long long n) {     bool prime[5 * 100005];     memset(prime, true, sizeof(prime));     for (long long p = 2; p * p <= n; p++)       if (prime[p] == true)         for (long long i = p * p; i <= n; i += p) prime[i] = false;     prime[1] = 0;   }   long long cnt, sum, mid, mx = -1e17, mn = 1e17, a[2 * 100005];   long long n, m, d, t, i, j, k, l, r, x, y, z;   bool f, f1, f2;   string s;   int32_t main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     cin >> n;     vector<long long> dp(100005);     for ((i) = 1; (i) <= (n); (i)++) {       cin >> x >> y;       cnt = 0;       for (j = 1; j * j <= x; j++) {         if (x % j == 0) {           if (dp[j] < i - y) {             cnt++;           }           dp[j] = i;           if (dp[x / j] < i - y) {             cnt++;           }           dp[x / j] = i;         }       }       cout << cnt;       cout <<   n ;     }   }   