#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, x, y, c;
  vector<vector<int> > e(100001);
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> x >> y;
    c = 0;
    for (int j = 1; j * j <= x; j++) {
      if (x % j) continue;
      int d = upper_bound(e[j].begin(), e[j].end(), i - 1) -
              lower_bound(e[j].begin(), e[j].end(), i - y);
      if (d == 0) c++;
      e[j].push_back(i);
      if (j != x / j) {
        int d = upper_bound(e[x / j].begin(), e[x / j].end(), i - 1) -
                lower_bound(e[x / j].begin(), e[x / j].end(), i - y);
        if (d == 0) c++;
        e[x / j].push_back(i);
      }
    }
    cout << c << endl;
  }
}
