#include <bits/stdc++.h>
using namespace std;
int d[100005][505], n, q, a[100005];
int dfs(int p, int k) {
  if (p > n) return 0;
  if (k >= 500)
    return 1 + dfs(p + a[p] + k, k);
  else {
    if (!d[p][k]) d[p][k] = 1 + dfs(p + a[p] + k, k);
    return d[p][k];
  }
}
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  cin >> q;
  while (q--) {
    int p, k;
    cin >> p >> k;
    cout << dfs(p, k) << endl;
  }
}
