#include <bits/stdc++.h>
using namespace std;
const int MAX = 1010000;
long long L[MAX];
int n, m;
vector<long long> adj[MAX];
vector<long long> acc[MAX];
void pre(int u) {
  if (2 * u > n) {
    adj[u].resize(1);
    adj[u][0] = 0;
  } else {
    pre(2 * u);
    vector<long long> l = adj[2 * u], r;
    long long add = L[2 * u];
    int len = ((int)(l).size());
    for (int i = 0; i < len; i++) l[i] += add;
    if (2 * u + 1 <= n) {
      pre(2 * u + 1);
      r = adj[2 * u + 1];
      add = L[2 * u + 1];
      len = ((int)(r).size());
      for (int i = 0; i < len; i++) r[i] += add;
    }
    adj[u].resize(((int)(l).size()) + ((int)(r).size()) + 1);
    adj[u][0] = 0;
    merge(l.begin(), l.end(), r.begin(), r.end(), adj[u].begin() + 1);
  }
  acc[u].resize(((int)(adj[u]).size()));
  acc[u][0] = 0;
  int len = ((int)(acc[u]).size());
  for (int i = 1; i < len; i++) acc[u][i] = acc[u][i - 1] + adj[u][i];
}
pair<int, long long> q(int u, long long X) {
  int l = 0, m, r = ((int)(adj[u]).size()) - 1;
  while (l != r) {
    m = (l + r + 1) / 2;
    if (adj[u][m] <= X)
      l = m;
    else
      r = m - 1;
  }
  return make_pair(l + 1, acc[u][l]);
}
pair<int, long long> query(int u, long long X) {
  pair<int, long long> ans = q(u, X);
  int v = u;
  long long acc = 0;
  while (v != 1) {
    acc += L[v];
    if (acc > X) break;
    ans.first += 1;
    ans.second += acc;
    int v0 = (v ^ 1);
    if (v0 <= n && acc + L[v0] <= X) {
      pair<int, long long> tmp = q(v0, X - (acc + L[v0]));
      tmp.second += (1ll * tmp.first * (acc + L[v0]));
      ans.first += tmp.first;
      ans.second += tmp.second;
    }
    v = v / 2;
  }
  return ans;
}
long long uquery(int u, long long X) {
  pair<int, long long> tmp = query(u, X);
  long long ans = 1ll * tmp.first * X - tmp.second;
  return ans;
}
int main() {
  scanf("%d %d", &n, &m);
  for (int i = 2; i <= n; i++) scanf("%lld", L + i);
  pre(1);
  for (int i = 0; i < int(m); i++) {
    int a;
    long long b;
    scanf("%d %lld", &a, &b);
    printf("%lld\n", uquery(a, b));
  }
}
