#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  scanf("%d", &n);
  vector<vector<pair<int, int> > > a(100001);
  for (int _n(n), i(0); i < _n; i++) {
    int x, y;
    scanf("%d%d", &x, &y);
    a[x].push_back(pair<int, int>(i, y));
  }
  vector<int> r(n);
  for (int _n(100001), i(1); i < _n; i++) {
    vector<pair<int, int> > b;
    for (int v = i; v <= 100000; v += i) {
      for (int _n(a[v].size()), j(0); j < _n; j++) b.push_back(a[v][j]);
    }
    sort((b).begin(), (b).end());
    for (int _n(b.size()), j(0); j < _n; j++)
      if (!j || b[j - 1].first < b[j].first - b[j].second) r[b[j].first]++;
  }
  for (int _n(n), i(0); i < _n; i++) printf("%d\n", r[i]);
  return 0;
}
