#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 1000 * 1000 + 5;
int n, q, p[MAX_N], l[MAX_N], r[MAX_N], last[MAX_N], lazy[4 * MAX_N];
long long seg[4 * MAX_N], ans[MAX_N];
vector<int> qr[MAX_N];
void read_input() {
  cin >> n >> q;
  for (int i = 0; i < n; i++) cin >> p[i], p[i]--;
  p[n] = n;
  for (int i = 0; i < q; i++) cin >> l[i];
  for (int i = 0; i < q; i++) cin >> r[i];
  for (int i = 0; i < q; i++) {
    l[i]--, r[i]--;
    qr[l[i]].push_back(i);
  }
}
void find_last() {
  vector<int> st = {n};
  for (int i = n - 1; ~i; i--) {
    while (p[st.back()] < p[i]) st.pop_back();
    last[i] = st.back();
    st.push_back(i);
  }
}
void update(int id, int l, int r) {
  seg[id] += 1LL * (r - l) * lazy[id];
  if (l < r - 1) {
    lazy[id << 1] += lazy[id];
    lazy[id << 1 | 1] += lazy[id];
  }
  lazy[id] = 0;
}
void add(int x, int y, int id = 1, int l = 0, int r = n) {
  update(id, l, r);
  if (x >= r || y <= l) return;
  if (x <= l && y >= r) {
    lazy[id]++;
    update(id, l, r);
    return;
  }
  int mid = (l + r) >> 1;
  add(x, y, id << 1, l, mid);
  add(x, y, id << 1 | 1, mid, r);
  seg[id] = seg[id << 1] + seg[id << 1 | 1];
}
long long get(int x, int y, int id = 1, int l = 0, int r = n) {
  update(id, l, r);
  if (x >= r || y <= l) return 0;
  if (x <= l && y >= r) return seg[id];
  int mid = (l + r) >> 1;
  return get(x, y, id << 1, l, mid) + get(x, y, id << 1 | 1, mid, r);
}
void update_ans(bool e = false) {
  for (int i = n - 1; ~i; i--) {
    add(i, last[i]);
    for (int j : qr[i]) {
      ans[j] += get(0, r[j] + 1);
      if (e) ans[j] -= r[j] - i + 1;
    }
  }
}
void solve() {
  find_last();
  update_ans();
  reverse(p, p + n);
  memset(seg, 0, sizeof seg);
  memset(lazy, 0, sizeof lazy);
  for (int i = 0; i < n; i++) qr[i].clear();
  for (int i = 0; i < q; i++) {
    int r_tmp = n - 1 - l[i], l_tmp = n - 1 - r[i];
    l[i] = l_tmp;
    r[i] = r_tmp;
    qr[l[i]].push_back(i);
  }
  find_last();
  update_ans(true);
}
void print_output() {
  for (int i = 0; i < q; i++) cout << ans[i] << ' ';
}
int main() {
  ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  read_input();
  solve();
  print_output();
}
