#include <bits/stdc++.h>
int n, i, j, x, y, ans, last[100001] = {0};
inline void doit(int p) {
  if (last[p] < y) ++ans;
  last[p] = i;
}
int main() {
  scanf("%d", &n);
  for (i = 1; i <= n; ++i) {
    scanf("%d%d", &x, &y);
    ans = 0;
    y = i - y;
    for (j = 1; j * j < x; ++j)
      if (x % j == 0) {
        doit(j);
        doit(x / j);
      }
    if (j * j == x) doit(j);
    printf("%d\n", ans);
  }
  return 0;
}
