#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
int dp[maxn][505], a[maxn], n, p, q, k;
int calc(int p, int k) {
  int cnt = 0;
  while (p <= n) {
    cnt++;
    p = p + a[p] + k;
  }
  return cnt;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  for (int i = n; i >= 1; i--)
    for (int j = 1; j <= 500; j++) {
      if (i + a[i] + j > n)
        dp[i][j] = 1;
      else
        dp[i][j] = dp[i + a[i] + j][j] + 1;
    }
  scanf("%d", &q);
  while (q--) {
    scanf("%d%d", &p, &k);
    if (k <= 500)
      printf("%d\n", dp[p][k]);
    else
      printf("%d\n", calc(p, k));
  }
  return 0;
}
