#include <bits/stdc++.h>
using namespace std;
int n, q;
int a[100005];
int dp[100005][405];
int getdp(int p, int k) {
  if (p > n) return 0;
  if (k > (int)sqrt(n)) return 1 + getdp(p + a[p] + k, k);
  int& ret = dp[p][k];
  if (ret != -1) return ret;
  return ret = 1 + getdp(p + a[p] + k, k);
}
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  memset(dp, -1, sizeof(dp));
  cin >> q;
  for (int i = 0; i < q; i++) {
    int p, k;
    cin >> p >> k;
    cout << getdp(p, k) << endl;
  }
}
