#include<bits/stdc++.h>
using namespace std;
//#include <ext/pb_ds/assoc_container.hpp>
//using namespace __gnu_pbds;
//typedef tree<int,null_type,less<int>,rb_tree_tag,
//tree_order_statistics_node_update> indexed_set;
#define pb push_back
#define eb emplace_back
#define mp make_pair
#define pii pair<int,int>
#define pll pair<long long , long long>
#define vi vector<int>
#define vpii vector<pii>
#define SZ(x) ((int)(x.size()))
#define fi first
#define se second
#define FOR(i,n) for(int (i)=0;(i)<(n);++(i))
#define FORI(i,n) for(int (i)=1;(i)<=(n);++(i))
#define IN(x,y) ((y).find((x))!=(y).end())
#define ALL(t) t.begin(),t.end()
#define FOREACH(i,t) for (typeof(t.begin()) i=t.begin(); i!=t.end(); i++)
#define REP(i,a,b) for(int (i)=(a);(i)<=(b);++i)
#define REPD(i,a,b) for(int (i)=(a); (i)>=(b);--i)
#define REMAX(a,b) (a)=max((a),(b));
#define REMIN(a,b) (a)=min((a),(b));
#define dem(x) __builtin_popcount(x)
#define DBG cerr << "debug here" << endl;
#define DBGV(vari) cerr << #vari<< " = "<< (vari) <<endl;
#define nn <<' '<<
#define ln <<'\n'
#define io_faster ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//template <typename T>
//inline void read(T& x){
// bool Neg = false;
// char c;
// for (c = getchar(); c < '0' | c > '9'; c = getchar())
// if (c == '-') Neg = !Neg;
// x = c - '0';
// for (c = getchar(); c >= '0' && c <= '9'; c = getchar())
// x = x * 10 + c - '0';
// if (Neg) x = -x;
//}
//template <typename T>
//inline void write(T x)
//{
// if (x < 0)
// {
// putchar('-'); x = -x;
// }
// T p = 1;
// for (T temp = x / 10; temp > 0; temp /= 10) p *= 10;
// for (; p > 0; x %= p, p /= 10) putchar(x / p + '0');
//}
#define PROB "a"
void file(){
if(fopen(PROB".inp", "r")){
freopen(PROB".inp","r",stdin);
freopen(PROB".out","w",stdout);
}
}
void sinh_(){
// srand(time(0));
// freopen(PROB".inp" , "w" , stdout);
// int n;
}
typedef long long ll;
const int INF = 5e4;
const int N = 2e5 + 5e4 + 2;
const int Q = 1e4 + 5;
int n , q , s , a[N];
pii c[Q];
vector< vi > bit , it;
void add(int pos, int x){
for (pos += s - 1; pos; pos >>= 1)
it[pos].pb(x);
}
void readip(){
cin >> n;
int x = (int)ceil(log2(n));
s = 1 << x;
x = (s << 1) - 1 + 5;
bit.resize(x) , it.resize(x);
REP(i ,1, n){
cin >> a[i];
add(i , a[i]);
}
cin >> q;
REP(i, 1, q){
cin >> c[i].fi >> c[i].se;
add(c[i].fi , c[i].se);
}
}
void build(int id, int l , int r){
it[id].pb(INF + 1);
sort(ALL(it[id]));
it[id].erase(unique(ALL(it[id])) , it[id].end());
bit[id].resize(SZ(it[id]) + 2, 0);
int mid = (l + r) >> 1;
if (l == r) return;
build(id << 1, l , mid);
build((id << 1) | 1 , mid + 1, r);
}
int get_pos(int id, int x){
int u = lower_bound(ALL(it[id]) , x) - it[id].begin() + 1;
if (it[id][u - 1] > x) u--;
return u;
}
void update_bit(int id, int x, int d){
x = get_pos(id , x);
for (; x < SZ(it[id]); x += x & -x) bit[id][x] += d;
}
void update(int pos, int x, int d){
for (pos += s - 1; pos ; pos >>= 1)
update_bit(pos, x, d);
}
int get(int id, int x){
int res = 0; x = get_pos(id, x);
for (; x ; x -= x & -x) res += bit[id][x];
return res;
}
int get_ans(int l , int r , int L, int R){
l += s - 1, r += s - 1;
int res = 0;
while(l <= r){
if (l & 1){
res += get(l , R) - get(l , L - 1);
l++;
}
if (!(r & 1)){
res += get(r , R) - get(r, L - 1);
r--;
}
l >>= 1, r >>= 1;
}
return res;
}
void solve(){
build(1, 1, s);
REP(i ,1, n) update(i, a[i], 1);
ll res = 0;
REP(i, 1, n - 1){
if (a[i] != 1)
res += get_ans(i + 1, n , 1, a[i] - 1);
// cout << res ln;
}
// cout << res;
REP(i, 1, q){
int x = a[c[i].fi];
if (c[i].fi != 1 && x != INF) res -= get_ans(1 , c[i].fi - 1, x + 1 , INF);
if (c[i].fi != n && x != 1) res -= get_ans(c[i].fi + 1, n , 1, x - 1);
update(c[i].fi , x , -1);
a[c[i].fi] = c[i].se;
x = a[c[i].fi];
update(c[i].fi , x , 1);
if (c[i].fi != 1 && x != INF) res += get_ans(1 , c[i].fi - 1, x + 1 , INF);
if (c[i].fi != n && x != 1) res += get_ans(c[i].fi + 1, n , 1, x - 1);
cout << res ln;
}
// cout << res;
}
int main(){
sinh_();
io_faster
file();
int t = 1;
// cin >> t;
while (t--){
readip();
solve();
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLy8jaW5jbHVkZSA8ZXh0L3BiX2RzL2Fzc29jX2NvbnRhaW5lci5ocHA+Ci8vdXNpbmcgbmFtZXNwYWNlIF9fZ251X3BiZHM7Ci8vdHlwZWRlZiB0cmVlPGludCxudWxsX3R5cGUsbGVzczxpbnQ+LHJiX3RyZWVfdGFnLAovL3RyZWVfb3JkZXJfc3RhdGlzdGljc19ub2RlX3VwZGF0ZT4gaW5kZXhlZF9zZXQ7CiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgZWIgZW1wbGFjZV9iYWNrCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgcGlpIHBhaXI8aW50LGludD4KI2RlZmluZSBwbGwgcGFpcjxsb25nIGxvbmcgLCBsb25nIGxvbmc+CiNkZWZpbmUgdmkgdmVjdG9yPGludD4KI2RlZmluZSB2cGlpIHZlY3RvcjxwaWk+CiNkZWZpbmUgU1ooeCkgKChpbnQpKHguc2l6ZSgpKSkKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIEZPUihpLG4pIGZvcihpbnQgKGkpPTA7KGkpPChuKTsrKyhpKSkKI2RlZmluZSBGT1JJKGksbikgZm9yKGludCAoaSk9MTsoaSk8PShuKTsrKyhpKSkKI2RlZmluZSBJTih4LHkpICgoeSkuZmluZCgoeCkpIT0oeSkuZW5kKCkpCiNkZWZpbmUgQUxMKHQpIHQuYmVnaW4oKSx0LmVuZCgpCiNkZWZpbmUgRk9SRUFDSChpLHQpIGZvciAodHlwZW9mKHQuYmVnaW4oKSkgaT10LmJlZ2luKCk7IGkhPXQuZW5kKCk7IGkrKykKI2RlZmluZSBSRVAoaSxhLGIpIGZvcihpbnQgKGkpPShhKTsoaSk8PShiKTsrK2kpCiNkZWZpbmUgUkVQRChpLGEsYikgZm9yKGludCAoaSk9KGEpOyAoaSk+PShiKTstLWkpCiNkZWZpbmUgUkVNQVgoYSxiKSAoYSk9bWF4KChhKSwoYikpOwojZGVmaW5lIFJFTUlOKGEsYikgKGEpPW1pbigoYSksKGIpKTsKI2RlZmluZSBkZW0oeCkgX19idWlsdGluX3BvcGNvdW50KHgpCiNkZWZpbmUgREJHIGNlcnIgPDwgImRlYnVnIGhlcmUiIDw8IGVuZGw7CiNkZWZpbmUgREJHVih2YXJpKSBjZXJyIDw8ICN2YXJpPDwgIiA9ICI8PCAodmFyaSkgPDxlbmRsOwojZGVmaW5lIG5uIDw8JyAnPDwKI2RlZmluZSBsbiA8PCdcbicKI2RlZmluZSBpb19mYXN0ZXIgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7Y2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKLy90ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLy9pbmxpbmUgdm9pZCByZWFkKFQmIHgpewovLyAgICBib29sIE5lZyA9IGZhbHNlOwovLyAgICBjaGFyIGM7Ci8vICAgIGZvciAoYyA9IGdldGNoYXIoKTsgYyA8ICcwJyB8IGMgPiAnOSc7IGMgPSBnZXRjaGFyKCkpCi8vICAgICAgICBpZiAoYyA9PSAnLScpIE5lZyA9ICFOZWc7Ci8vICAgIHggPSBjIC0gJzAnOwovLyAgICBmb3IgKGMgPSBnZXRjaGFyKCk7IGMgPj0gJzAnICYmIGMgPD0gJzknOyBjID0gZ2V0Y2hhcigpKQovLyAgICAgICAgeCA9IHggKiAxMCArIGMgLSAnMCc7Ci8vICAgIGlmIChOZWcpIHggPSAteDsKLy99CgovL3RlbXBsYXRlIDx0eXBlbmFtZSBUPgovL2lubGluZSB2b2lkIHdyaXRlKFQgeCkKLy97Ci8vICAgIGlmICh4IDwgMCkKLy8gICAgewovLyAgICAgICAgcHV0Y2hhcignLScpOyB4ID0gLXg7Ci8vICAgIH0KLy8gICAgVCBwID0gMTsKLy8gICAgZm9yIChUIHRlbXAgPSB4IC8gMTA7IHRlbXAgPiAwOyB0ZW1wIC89IDEwKSBwICo9IDEwOwovLyAgICBmb3IgKDsgcCA+IDA7IHggJT0gcCwgcCAvPSAxMCkgcHV0Y2hhcih4IC8gcCArICcwJyk7Ci8vfQoKI2RlZmluZSBQUk9CICJhIgp2b2lkIGZpbGUoKXsKICAgIGlmKGZvcGVuKFBST0IiLmlucCIsICJyIikpewogICAgICAgIGZyZW9wZW4oUFJPQiIuaW5wIiwiciIsc3RkaW4pOwogICAgICAgIGZyZW9wZW4oUFJPQiIub3V0IiwidyIsc3Rkb3V0KTsKICAgIH0KfQp2b2lkIHNpbmhfKCl7Ci8vICAgIHNyYW5kKHRpbWUoMCkpOwovLyAgICBmcmVvcGVuKFBST0IiLmlucCIgLCAidyIgLCBzdGRvdXQpOwovLyAgICBpbnQgbjsKfQp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKY29uc3QgaW50IElORiA9IDVlNDsKY29uc3QgaW50IE4gPSAyZTUgKyA1ZTQgKyAyOwpjb25zdCBpbnQgUSA9IDFlNCArIDU7CmludCBuICwgcSAsIHMgLCBhW05dOwpwaWkgY1tRXTsKdmVjdG9yPCB2aSA+IGJpdCAsIGl0Owp2b2lkIGFkZChpbnQgcG9zLCBpbnQgeCl7CiAgICBmb3IgKHBvcyArPSBzIC0gMTsgcG9zOyBwb3MgPj49IDEpCiAgICAgICAgaXRbcG9zXS5wYih4KTsKfQp2b2lkIHJlYWRpcCgpewogICAgY2luID4+IG47CiAgICBpbnQgeCA9IChpbnQpY2VpbChsb2cyKG4pKTsKICAgIHMgPSAxIDw8IHg7CiAgICB4ID0gKHMgPDwgMSkgLSAxICsgNTsKICAgIGJpdC5yZXNpemUoeCkgLCBpdC5yZXNpemUoeCk7CiAgICBSRVAoaSAsMSwgbil7CiAgICAgICAgY2luID4+IGFbaV07CiAgICAgICAgYWRkKGkgLCBhW2ldKTsKICAgIH0KICAgIGNpbiA+PiBxOwogICAgUkVQKGksIDEsIHEpewogICAgICAgIGNpbiA+PiBjW2ldLmZpID4+IGNbaV0uc2U7CiAgICAgICAgYWRkKGNbaV0uZmkgLCBjW2ldLnNlKTsKICAgIH0KfQp2b2lkIGJ1aWxkKGludCBpZCwgaW50IGwgLCBpbnQgcil7CiAgICBpdFtpZF0ucGIoSU5GICsgMSk7CiAgICBzb3J0KEFMTChpdFtpZF0pKTsKICAgIGl0W2lkXS5lcmFzZSh1bmlxdWUoQUxMKGl0W2lkXSkpICwgaXRbaWRdLmVuZCgpKTsKICAgIGJpdFtpZF0ucmVzaXplKFNaKGl0W2lkXSkgKyAyLCAwKTsKICAgIGludCBtaWQgPSAobCArIHIpID4+IDE7CiAgICBpZiAobCA9PSByKSByZXR1cm47CiAgICBidWlsZChpZCA8PCAxLCBsICwgbWlkKTsKICAgIGJ1aWxkKChpZCA8PCAxKSB8IDEgLCBtaWQgKyAxLCByKTsKfQppbnQgZ2V0X3BvcyhpbnQgaWQsIGludCB4KXsKICAgIGludCB1ID0gbG93ZXJfYm91bmQoQUxMKGl0W2lkXSkgLCB4KSAtIGl0W2lkXS5iZWdpbigpICsgMTsKICAgIGlmIChpdFtpZF1bdSAtIDFdID4geCkgdS0tOwogICAgcmV0dXJuIHU7Cn0Kdm9pZCB1cGRhdGVfYml0KGludCBpZCwgaW50IHgsIGludCBkKXsKICAgIHggPSBnZXRfcG9zKGlkICwgeCk7CiAgICBmb3IgKDsgeCA8IFNaKGl0W2lkXSk7IHggKz0geCAmIC14KSBiaXRbaWRdW3hdICs9IGQ7Cn0Kdm9pZCB1cGRhdGUoaW50IHBvcywgaW50IHgsIGludCBkKXsKICAgIGZvciAocG9zICs9IHMgLSAxOyBwb3MgOyBwb3MgPj49IDEpCiAgICAgICAgdXBkYXRlX2JpdChwb3MsIHgsIGQpOwp9CmludCBnZXQoaW50IGlkLCBpbnQgeCl7CiAgICBpbnQgcmVzID0gMDsgeCA9IGdldF9wb3MoaWQsIHgpOwogICAgZm9yICg7IHggOyB4IC09IHggJiAteCkgcmVzICs9IGJpdFtpZF1beF07CiAgICByZXR1cm4gcmVzOwp9CmludCBnZXRfYW5zKGludCBsICwgaW50IHIgLCBpbnQgTCwgaW50IFIpewogICAgbCArPSBzIC0gMSwgciArPSBzIC0gMTsKICAgIGludCByZXMgPSAwOwogICAgd2hpbGUobCA8PSByKXsKICAgICAgICBpZiAobCAmIDEpewogICAgICAgICAgICByZXMgKz0gZ2V0KGwgLCBSKSAtIGdldChsICwgTCAtIDEpOwogICAgICAgICAgICBsKys7CiAgICAgICAgfQogICAgICAgIGlmICghKHIgJiAxKSl7CiAgICAgICAgICAgIHJlcyArPSBnZXQociAsIFIpIC0gZ2V0KHIsIEwgLSAxKTsKICAgICAgICAgICAgci0tOwogICAgICAgIH0KICAgICAgICBsID4+PSAxLCByID4+PSAxOwogICAgfQogICAgcmV0dXJuIHJlczsKfQoKdm9pZCBzb2x2ZSgpewogICAgYnVpbGQoMSwgMSwgcyk7CiAgICBSRVAoaSAsMSwgbikgdXBkYXRlKGksIGFbaV0sIDEpOwogICAgbGwgcmVzID0gMDsKICAgIFJFUChpLCAxLCBuIC0gMSl7CiAgICAgICAgaWYgKGFbaV0gIT0gMSkKICAgICAgICAgICAgcmVzICs9IGdldF9hbnMoaSArIDEsIG4gLCAxLCAgYVtpXSAtIDEpOwovLyAgICAgICAgY291dCA8PCByZXMgbG47CiAgICB9Ci8vICAgIGNvdXQgPDwgcmVzOwogICAgUkVQKGksIDEsIHEpewogICAgICAgIGludCB4ID0gYVtjW2ldLmZpXTsKICAgICAgICBpZiAoY1tpXS5maSAhPSAxICYmIHggIT0gSU5GKSByZXMgLT0gZ2V0X2FucygxICwgY1tpXS5maSAtIDEsIHggKyAxICwgSU5GKTsKICAgICAgICBpZiAoY1tpXS5maSAhPSBuICYmIHggIT0gMSkgcmVzIC09IGdldF9hbnMoY1tpXS5maSArIDEsIG4gLCAxLCB4IC0gMSk7CiAgICAgICAgdXBkYXRlKGNbaV0uZmkgLCB4ICwgLTEpOwogICAgICAgIGFbY1tpXS5maV0gPSBjW2ldLnNlOwogICAgICAgIHggPSBhW2NbaV0uZmldOwogICAgICAgIHVwZGF0ZShjW2ldLmZpICwgeCAsIDEpOwogICAgICAgIGlmIChjW2ldLmZpICE9IDEgJiYgeCAhPSBJTkYpIHJlcyArPSBnZXRfYW5zKDEgLCBjW2ldLmZpIC0gMSwgeCArIDEgLCBJTkYpOwogICAgICAgIGlmIChjW2ldLmZpICE9IG4gJiYgeCAhPSAxKSByZXMgKz0gZ2V0X2FucyhjW2ldLmZpICsgMSwgbiAsIDEsIHggLSAxKTsKICAgICAgICBjb3V0IDw8IHJlcyBsbjsKICAgIH0KLy8gICAgY291dCA8PCByZXM7Cn0KCmludCBtYWluKCl7CiAgICBzaW5oXygpOwogICAgaW9fZmFzdGVyCiAgICBmaWxlKCk7CiAgICBpbnQgdCA9IDE7Ci8vICAgIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSl7CiAgICAgICAgcmVhZGlwKCk7CiAgICAgICAgc29sdmUoKTsKICAgIH0KfQoK