#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define MAX 200005
int a[MAX], SongNghi[MAX];
int cost[MAX], diffArr[MAX], cntArr[MAX];
int n;
map<int,int> iniPos, afterPos;
ll iniCost;
// Segment tree arrays and lazy for cnt updates
ll stCost[4 * MAX], stCnt[4 * MAX], stCC[4 * MAX], lazy[4 * MAX];
void build(int id, int l, int r) {
if (l == r) {
stCost[id] = cost[l];
stCnt[id] = cntArr[l];
stCC[id] = stCost[id] * stCnt[id];
lazy[id] = 0;
return;
}
int mid = (l + r) / 2;
build(id * 2, l, mid);
build(id * 2 + 1, mid + 1, r);
stCost[id] = stCost[id * 2] + stCost[id * 2 + 1];
stCnt[id] = stCnt[id * 2] + stCnt[id * 2 + 1];
stCC[id] = stCC[id * 2] + stCC[id * 2 + 1];
lazy[id] = 0;
}
void fix(int id, int l, int r) {
if (lazy[id] == 0) return;
ll v = lazy[id];
stCC[id] += stCost[id] * v;
stCnt[id] += (r - l + 1) * v;
if (l < r) {
lazy[id * 2] += v;
lazy[id * 2 + 1] += v;
}
lazy[id] = 0;
}
void updateCnt(int id, int l, int r, int u, int v, int val) {
fix(id, l, r);
if (l > v || r < u) return;
if (l >= u && r <= v) {
lazy[id] += val;
fix(id, l, r);
return;
}
int mid = (l + r) / 2;
updateCnt(id * 2, l, mid, u, v, val);
updateCnt(id * 2 + 1, mid + 1, r, u, v, val);
stCost[id] = stCost[id * 2] + stCost[id * 2 + 1];
stCnt[id] = stCnt[id * 2] + stCnt[id * 2 + 1];
stCC[id] = stCC[id * 2] + stCC[id * 2 + 1];
}
void updateCost(int id, int l, int r, int pos, int nw) {
fix(id, l, r);
if (l == r) {
ll delta = nw - stCost[id];
stCost[id] = nw;
stCC[id] += stCnt[id] * delta;
return;
}
int mid = (l + r) / 2;
if (pos <= mid) {
updateCost(id * 2, l, mid, pos, nw);
} else {
updateCost(id * 2 + 1, mid + 1, r, pos, nw);
}
fix(id * 2, l, mid);
fix(id * 2 + 1, mid + 1, r);
stCost[id] = stCost[id * 2] + stCost[id * 2 + 1];
stCnt[id] = stCnt[id * 2] + stCnt[id * 2 + 1];
stCC[id] = stCC[id * 2] + stCC[id * 2 + 1];
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
SongNghi[i] = a[i];
}
for (int i = 1; i < n; i++) {
cin >> cost[i];
}
sort(SongNghi + 1, SongNghi + n + 1);
for (int i = 1; i <= n; i++) {
iniPos[a[i]] = i;
afterPos[SongNghi[i]] = i;
}
fill(diffArr, diffArr + n + 1, 0);
for (int i = 1; i <= n; i++) {
int p = iniPos[a[i]];
int q = afterPos[a[i]];
if (p < q) {
diffArr[p]++;
diffArr[q]--;
} else if (q < p) {
diffArr[q]++;
diffArr[p]--;
}
}
cntArr[0] = 0;
for (int i = 1; i < n; i++) {
cntArr[i] = cntArr[i - 1] + diffArr[i];
}
build(1, 1, n - 1);
cout << stCC[1] << "\n";
int Q;
cin >> Q;
while (Q--) {
int type, l, r;
cin >> type >> l >> r;
if (type == 1) {
int x = a[l], y = a[r];
int pX = iniPos[x];
int qX = afterPos[x];
if (pX != qX) {
updateCnt(1, 1, n - 1, min(pX, qX), max(pX, qX) - 1, -1);
}
int pY = iniPos[y];
int qY = afterPos[y];
if (pY != qY) {
updateCnt(1, 1, n - 1, min(pY, qY), max(pY, qY) - 1, -1);
}
swap(iniPos[x], iniPos[y]);
swap(a[l], a[r]);
pX = iniPos[x];
qX = afterPos[x];
if (pX != qX) {
updateCnt(1, 1, n - 1, min(pX, qX), max(pX, qX) - 1, 1);
}
pY = iniPos[y];
qY = afterPos[y];
if (pY != qY) {
updateCnt(1, 1, n - 1, min(pY, qY), max(pY, qY) - 1, 1);
}
} else {
int old = cost[l];
updateCost(1, 1, n - 1, l, r);
cost[l] = r;
}
cout << stCC[1] << "\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIE1BWCAyMDAwMDUKCmludCBhW01BWF0sIFNvbmdOZ2hpW01BWF07CmludCBjb3N0W01BWF0sIGRpZmZBcnJbTUFYXSwgY250QXJyW01BWF07CmludCBuOwptYXA8aW50LGludD4gaW5pUG9zLCBhZnRlclBvczsKCmxsIGluaUNvc3Q7CgovLyBTZWdtZW50IHRyZWUgYXJyYXlzIGFuZCBsYXp5IGZvciBjbnQgdXBkYXRlcwpsbCBzdENvc3RbNCAqIE1BWF0sIHN0Q250WzQgKiBNQVhdLCBzdENDWzQgKiBNQVhdLCBsYXp5WzQgKiBNQVhdOwoKdm9pZCBidWlsZChpbnQgaWQsIGludCBsLCBpbnQgcikgewogICAgaWYgKGwgPT0gcikgewogICAgICAgIHN0Q29zdFtpZF0gPSBjb3N0W2xdOwogICAgICAgIHN0Q250W2lkXSAgPSBjbnRBcnJbbF07CiAgICAgICAgc3RDQ1tpZF0gICA9IHN0Q29zdFtpZF0gKiBzdENudFtpZF07CiAgICAgICAgbGF6eVtpZF0gICA9IDA7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIGludCBtaWQgPSAobCArIHIpIC8gMjsKICAgIGJ1aWxkKGlkICogMiwgICAgIGwsICAgICBtaWQpOwogICAgYnVpbGQoaWQgKiAyICsgMSwgbWlkICsgMSwgcik7CgogICAgc3RDb3N0W2lkXSA9IHN0Q29zdFtpZCAqIDJdICsgc3RDb3N0W2lkICogMiArIDFdOwogICAgc3RDbnRbaWRdICA9IHN0Q250W2lkICogMl0gICsgc3RDbnRbaWQgKiAyICsgMV07CiAgICBzdENDW2lkXSAgID0gc3RDQ1tpZCAqIDJdICAgKyBzdENDW2lkICogMiArIDFdOwogICAgbGF6eVtpZF0gICA9IDA7Cn0KCnZvaWQgZml4KGludCBpZCwgaW50IGwsIGludCByKSB7CiAgICBpZiAobGF6eVtpZF0gPT0gMCkgcmV0dXJuOwoKICAgIGxsIHYgPSBsYXp5W2lkXTsKICAgIHN0Q0NbaWRdICArPSBzdENvc3RbaWRdICogdjsKICAgIHN0Q250W2lkXSArPSAociAtIGwgKyAxKSAqIHY7CgogICAgaWYgKGwgPCByKSB7CiAgICAgICAgbGF6eVtpZCAqIDJdICAgICArPSB2OwogICAgICAgIGxhenlbaWQgKiAyICsgMV0gKz0gdjsKICAgIH0KCiAgICBsYXp5W2lkXSA9IDA7Cn0KCnZvaWQgdXBkYXRlQ250KGludCBpZCwgaW50IGwsIGludCByLCBpbnQgdSwgaW50IHYsIGludCB2YWwpIHsKICAgIGZpeChpZCwgbCwgcik7CiAgICBpZiAobCA+IHYgfHwgciA8IHUpIHJldHVybjsKCiAgICBpZiAobCA+PSB1ICYmIHIgPD0gdikgewogICAgICAgIGxhenlbaWRdICs9IHZhbDsKICAgICAgICBmaXgoaWQsIGwsIHIpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBpbnQgbWlkID0gKGwgKyByKSAvIDI7CiAgICB1cGRhdGVDbnQoaWQgKiAyLCAgICAgbCwgICAgIG1pZCwgdSwgdiwgdmFsKTsKICAgIHVwZGF0ZUNudChpZCAqIDIgKyAxLCBtaWQgKyAxLCByLCAgIHUsIHYsIHZhbCk7CgogICAgc3RDb3N0W2lkXSA9IHN0Q29zdFtpZCAqIDJdICsgc3RDb3N0W2lkICogMiArIDFdOwogICAgc3RDbnRbaWRdICA9IHN0Q250W2lkICogMl0gICsgc3RDbnRbaWQgKiAyICsgMV07CiAgICBzdENDW2lkXSAgID0gc3RDQ1tpZCAqIDJdICAgKyBzdENDW2lkICogMiArIDFdOwp9Cgp2b2lkIHVwZGF0ZUNvc3QoaW50IGlkLCBpbnQgbCwgaW50IHIsIGludCBwb3MsIGludCBudykgewogICAgZml4KGlkLCBsLCByKTsKCiAgICBpZiAobCA9PSByKSB7CiAgICAgICAgbGwgZGVsdGEgICAgPSBudyAtIHN0Q29zdFtpZF07CiAgICAgICAgc3RDb3N0W2lkXSA9IG53OwogICAgICAgIHN0Q0NbaWRdICArPSBzdENudFtpZF0gKiBkZWx0YTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgaW50IG1pZCA9IChsICsgcikgLyAyOwogICAgaWYgKHBvcyA8PSBtaWQpIHsKICAgICAgICB1cGRhdGVDb3N0KGlkICogMiwgICAgIGwsICAgICBtaWQsIHBvcywgbncpOwogICAgfSBlbHNlIHsKICAgICAgICB1cGRhdGVDb3N0KGlkICogMiArIDEsIG1pZCArIDEsIHIsICAgcG9zLCBudyk7CiAgICB9CgogICAgZml4KGlkICogMiwgICAgIGwsICAgICBtaWQpOwogICAgZml4KGlkICogMiArIDEsIG1pZCArIDEsIHIpOwoKICAgIHN0Q29zdFtpZF0gPSBzdENvc3RbaWQgKiAyXSArIHN0Q29zdFtpZCAqIDIgKyAxXTsKICAgIHN0Q250W2lkXSAgPSBzdENudFtpZCAqIDJdICArIHN0Q250W2lkICogMiArIDFdOwogICAgc3RDQ1tpZF0gICA9IHN0Q0NbaWQgKiAyXSAgICsgc3RDQ1tpZCAqIDIgKyAxXTsKfQoKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwoKICAgIGNpbiA+PiBuOwoKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgICAgIFNvbmdOZ2hpW2ldID0gYVtpXTsKICAgIH0KCiAgICBmb3IgKGludCBpID0gMTsgaSA8IG47IGkrKykgewogICAgICAgIGNpbiA+PiBjb3N0W2ldOwogICAgfQoKICAgIHNvcnQoU29uZ05naGkgKyAxLCBTb25nTmdoaSArIG4gKyAxKTsKCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICBpbmlQb3NbYVtpXV0gICAgICAgICAgPSBpOwogICAgICAgIGFmdGVyUG9zW1NvbmdOZ2hpW2ldXSA9IGk7CiAgICB9CgogICAgZmlsbChkaWZmQXJyLCBkaWZmQXJyICsgbiArIDEsIDApOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgaW50IHAgPSBpbmlQb3NbYVtpXV07CiAgICAgICAgaW50IHEgPSBhZnRlclBvc1thW2ldXTsKICAgICAgICBpZiAocCA8IHEpIHsKICAgICAgICAgICAgZGlmZkFycltwXSsrOwogICAgICAgICAgICBkaWZmQXJyW3FdLS07CiAgICAgICAgfSBlbHNlIGlmIChxIDwgcCkgewogICAgICAgICAgICBkaWZmQXJyW3FdKys7CiAgICAgICAgICAgIGRpZmZBcnJbcF0tLTsKICAgICAgICB9CiAgICB9CgogICAgY250QXJyWzBdID0gMDsKICAgIGZvciAoaW50IGkgPSAxOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgY250QXJyW2ldID0gY250QXJyW2kgLSAxXSArIGRpZmZBcnJbaV07CiAgICB9CgogICAgYnVpbGQoMSwgMSwgbiAtIDEpOwogICAgY291dCA8PCBzdENDWzFdIDw8ICJcbiI7CgogICAgaW50IFE7CiAgICBjaW4gPj4gUTsKICAgIHdoaWxlIChRLS0pIHsKICAgICAgICBpbnQgdHlwZSwgbCwgcjsKICAgICAgICBjaW4gPj4gdHlwZSA+PiBsID4+IHI7CgogICAgICAgIGlmICh0eXBlID09IDEpIHsKICAgICAgICAgICAgaW50IHggPSBhW2xdLCB5ID0gYVtyXTsKCiAgICAgICAgICAgIGludCBwWCA9IGluaVBvc1t4XTsKICAgICAgICAgICAgaW50IHFYID0gYWZ0ZXJQb3NbeF07CiAgICAgICAgICAgIGlmIChwWCAhPSBxWCkgewogICAgICAgICAgICAgICAgdXBkYXRlQ250KDEsIDEsIG4gLSAxLCBtaW4ocFgsIHFYKSwgbWF4KHBYLCBxWCkgLSAxLCAtMSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGludCBwWSA9IGluaVBvc1t5XTsKICAgICAgICAgICAgaW50IHFZID0gYWZ0ZXJQb3NbeV07CiAgICAgICAgICAgIGlmIChwWSAhPSBxWSkgewogICAgICAgICAgICAgICAgdXBkYXRlQ250KDEsIDEsIG4gLSAxLCBtaW4ocFksIHFZKSwgbWF4KHBZLCBxWSkgLSAxLCAtMSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHN3YXAoaW5pUG9zW3hdLCBpbmlQb3NbeV0pOwogICAgICAgICAgICBzd2FwKGFbbF0sIGFbcl0pOwoKICAgICAgICAgICAgcFggPSBpbmlQb3NbeF07CiAgICAgICAgICAgIHFYID0gYWZ0ZXJQb3NbeF07CiAgICAgICAgICAgIGlmIChwWCAhPSBxWCkgewogICAgICAgICAgICAgICAgdXBkYXRlQ250KDEsIDEsIG4gLSAxLCBtaW4ocFgsIHFYKSwgbWF4KHBYLCBxWCkgLSAxLCAgMSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHBZID0gaW5pUG9zW3ldOwogICAgICAgICAgICBxWSA9IGFmdGVyUG9zW3ldOwogICAgICAgICAgICBpZiAocFkgIT0gcVkpIHsKICAgICAgICAgICAgICAgIHVwZGF0ZUNudCgxLCAxLCBuIC0gMSwgbWluKHBZLCBxWSksIG1heChwWSwgcVkpIC0gMSwgIDEpOwogICAgICAgICAgICB9CgogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGludCBvbGQgPSBjb3N0W2xdOwogICAgICAgICAgICB1cGRhdGVDb3N0KDEsIDEsIG4gLSAxLCBsLCByKTsKICAgICAgICAgICAgY29zdFtsXSA9IHI7CiAgICAgICAgfQoKICAgICAgICBjb3V0IDw8IHN0Q0NbMV0gPDwgIlxuIjsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=