- #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==