#include <cstdio>
#include <cmath>
#define rep(i, s, n) for(int i=int(s); i<=int(n); ++i)
#define rf freopen("in.in", "r", stdin)
#define wf freopen("out.out", "w", stdout)
using namespace std;
const int mx=2.5e5+10, mxa=5e4+5, mxsqr=505;
static long long bit[mxsqr][mxa], totinv=0;
int n, m, idx, val, a[mx], sqr;
inline void up(int x, int y, int v)
{
for(int i=x; i<mxsqr; i+=i&-i)
for(int j=y; j<mxa; j+=j&-j)
bit[i][j]+=v;
}
inline long long qu(int x, int y)
{
long long ret = 0;
for(int i=x; i; i-=i&-i)
for(int j=y; j; j-=j&-j)
ret+=bit[i][j];
return ret;
}
inline long long qtype1(int buck, int idx)
{
long long ret=0;
int e= buck*sqr-1 < n? buck*sqr-1 : n;
rep(i, idx+1, e)
if(a[i] < a[idx]) ret++;
ret += qu(mxsqr-1, a[idx]-1) - qu(buck, a[idx]-1);
return ret;
}
inline long long qtype2(int buck, int idx)
{
long long ret=0;
int s = sqr*(buck-1);
rep(i, s, idx-1)
if(a[i] > a[idx]) ret++;
ret += qu(buck-1, mxa-1) - qu(buck-1, a[idx]);
return ret;
}
int main()
{
//rf; wf;
rep(i, 0, mx-1) a[i]=mx;
scanf("%d", &n); sqr=sqrt(n);
rep(i, 0, n-1)
{
scanf("%d", &a[i]);
up(i/sqr+1, a[i], 1);
totinv += qtype1(i/sqr+1, i)+qtype2(i/sqr+1, i);
}
scanf("%d", &m);
while(m--)
{
scanf("%d %d", &idx, &val); idx--;
int buck=idx/sqr+1;
totinv -= qtype1(buck, idx)+qtype2(buck, idx);
up(buck, a[idx], -1);
a[idx]=val; up(buck, a[idx], 1);
totinv += qtype1(buck, idx)+qtype2(buck, idx);
printf("%lld\n", totinv);
}
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNtYXRoPgojZGVmaW5lIHJlcChpLCBzLCBuKSBmb3IoaW50IGk9aW50KHMpOyBpPD1pbnQobik7ICsraSkKI2RlZmluZSByZiBmcmVvcGVuKCJpbi5pbiIsICJyIiwgc3RkaW4pCiNkZWZpbmUgd2YgZnJlb3Blbigib3V0Lm91dCIsICJ3Iiwgc3Rkb3V0KQp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgbXg9Mi41ZTUrMTAsIG14YT01ZTQrNSwgbXhzcXI9NTA1OwoKc3RhdGljIGxvbmcgbG9uZyBiaXRbbXhzcXJdW214YV0sIHRvdGludj0wOwppbnQgbiwgbSwgaWR4LCB2YWwsIGFbbXhdLCBzcXI7CgppbmxpbmUgdm9pZCB1cChpbnQgeCwgaW50IHksIGludCB2KQp7Cglmb3IoaW50IGk9eDsgaTxteHNxcjsgaSs9aSYtaSkKCQlmb3IoaW50IGo9eTsgajxteGE7IGorPWomLWopCgkJCWJpdFtpXVtqXSs9djsKfQppbmxpbmUgbG9uZyBsb25nIHF1KGludCB4LCBpbnQgeSkKewoJbG9uZyBsb25nIHJldCA9IDA7Cglmb3IoaW50IGk9eDsgaTsgaS09aSYtaSkKCQlmb3IoaW50IGo9eTsgajsgai09aiYtaikKCQkJcmV0Kz1iaXRbaV1bal07CglyZXR1cm4gcmV0Owp9CgppbmxpbmUgbG9uZyBsb25nIHF0eXBlMShpbnQgYnVjaywgaW50IGlkeCkKewoJbG9uZyBsb25nIHJldD0wOwoJaW50IGU9IGJ1Y2sqc3FyLTEgPCBuPyBidWNrKnNxci0xIDogbjsKCglyZXAoaSwgaWR4KzEsIGUpCgkJaWYoYVtpXSA8IGFbaWR4XSkgcmV0Kys7CgoJcmV0ICs9IHF1KG14c3FyLTEsIGFbaWR4XS0xKSAtIHF1KGJ1Y2ssIGFbaWR4XS0xKTsKCglyZXR1cm4gcmV0Owp9CmlubGluZSBsb25nIGxvbmcgcXR5cGUyKGludCBidWNrLCBpbnQgaWR4KQp7Cglsb25nIGxvbmcgcmV0PTA7CglpbnQgcyA9IHNxciooYnVjay0xKTsKCglyZXAoaSwgcywgaWR4LTEpCgkJaWYoYVtpXSA+IGFbaWR4XSkgcmV0Kys7CgoJcmV0ICs9IHF1KGJ1Y2stMSwgbXhhLTEpIC0gcXUoYnVjay0xLCBhW2lkeF0pOwoKCXJldHVybiByZXQ7Cn0KCmludCBtYWluKCkKewoJLy9yZjsgd2Y7CglyZXAoaSwgMCwgbXgtMSkgYVtpXT1teDsKCQoJc2NhbmYoIiVkIiwgJm4pOyBzcXI9c3FydChuKTsKCXJlcChpLCAwLCBuLTEpCgl7CgkJc2NhbmYoIiVkIiwgJmFbaV0pOwoJCXVwKGkvc3FyKzEsIGFbaV0sIDEpOwoJCXRvdGludiArPSBxdHlwZTEoaS9zcXIrMSwgaSkrcXR5cGUyKGkvc3FyKzEsIGkpOwoJfQoKCXNjYW5mKCIlZCIsICZtKTsKCXdoaWxlKG0tLSkKCXsKCQlzY2FuZigiJWQgJWQiLCAmaWR4LCAmdmFsKTsgaWR4LS07CgkJaW50IGJ1Y2s9aWR4L3NxcisxOwoKCQl0b3RpbnYgLT0gcXR5cGUxKGJ1Y2ssIGlkeCkrcXR5cGUyKGJ1Y2ssIGlkeCk7CgkJdXAoYnVjaywgYVtpZHhdLCAtMSk7CgoJCWFbaWR4XT12YWw7IHVwKGJ1Y2ssIGFbaWR4XSwgMSk7CgkJdG90aW52ICs9IHF0eXBlMShidWNrLCBpZHgpK3F0eXBlMihidWNrLCBpZHgpOwoKCQlwcmludGYoIiVsbGRcbiIsIHRvdGludik7Cgl9CglyZXR1cm4gMDsKfQ==