#include <bits/stdc++.h>
int pos[100005];
int n;
int main() {
  int i, j;
  int x, y;
  while (scanf("%d", &n) != EOF) {
    for (i = 0; i < 100005; i++) pos[i] = -1;
    int d1, d2;
    for (i = 1; i <= n; i++) {
      scanf("%d%d", &x, &y);
      int cnt = 0;
      for (j = 1; j * j <= x; j++) {
        if (x / j * j == x) {
          d1 = j;
          d2 = x / j;
          if (pos[d1] == -1 || i - y > pos[d1]) cnt++;
          if (d1 != d2 && (pos[d2] == -1 || i - y > pos[d2])) cnt++;
          pos[d1] = pos[d2] = i;
        }
      }
      printf("%d\n", cnt);
    }
  }
  return 0;
}
