#include <bits/stdc++.h>
using namespace std;
int used[(int)1e5 + 5];
void update(int x, int id) {
  int sq = sqrt(x);
  for (int i = 1; i <= sq; i++) {
    if (x % i == 0) {
      int j = x / i;
      used[i] = id;
      used[j] = id;
    }
  }
}
int get(int x, int p) {
  int ret = 0;
  int sq = sqrt(x);
  for (int i = 1; i <= sq; i++) {
    if (x % i == 0) {
      int j = x / i;
      if (used[i] < p) ret++;
      if (j != i && used[j] < p) ret++;
    }
  }
  return ret;
}
int main() {
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    int x, p;
    cin >> x >> p;
    cout << get(x, i - p) << "\n";
    update(x, i);
  }
  return 0;
}
