#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
typedef long long int ll;
using namespace std;
using namespace __gnu_pbds;
#define fastio ios_base::sync_with_stdio(false);cout.tie(0);cin.tie(0);
typedef tree< pair < ll, ll >, null_type, less< pair < ll, ll > >, rb_tree_tag, tree_order_statistics_node_update> ordered_set;
const ll mod = 1e9+7;
const ll MAXN = 1e5+5;
const ll inf = 1e18;
int main()
{
fastio;
ll n;
cin >> n;
vector < ll > x(n);
for(int i = 0; i < n; i++) cin >> x[i];
ll len = (ll)sqrt(n) + 1;
vector < ordered_set > s(len);
for(int i = 0; i< n; i++){
s[i / len].insert({x[i], i});
}
ll q;
cin >> q;
while(q--){
ll a;
cin >> a;
if(a == 0){
ll l, r, y, ans = 0;
cin >> l >> r >> y;
l--; r--;/*
for(int i = l; i <= r; ){
if(i % len == 0 && i + len - 1 <= r){
ans += s[i / len].size() - s[i / len].order_of_key({y, -inf});
i += len;
}else{
if(x[i] >= y) ans++;
i++;
}
}*/
ll c_l = l / len, c_r = r / len;
if(c_l == c_r){
for(int i = l; i <= r; i++){
if(x[i] >= y) ans++;
}
cout << ans << endl;
continue;
}
for(int i = l; i < (c_l + 1) * len; i++){
if(x[i] >= y) ans++;
}
for(int i = (c_l + 1); i <= (c_r - 1); i++){
ans += s[i].size() - s[i].order_of_key({y, -inf});
}
for(int i = (c_r) * len; i <= r; i++){
if(x[i] >= y) ans++;
}
cout << ans << endl;
}else{
ll ind, val;
cin >> ind >> val;
ind--;
s[ind / len].erase({x[ind], ind});
s[ind / len].insert({val, ind});
x[ind] = val;
}
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2luY2x1ZGUgPGV4dC9wYl9kcy9hc3NvY19jb250YWluZXIuaHBwPgojaW5jbHVkZSA8ZXh0L3BiX2RzL3RyZWVfcG9saWN5LmhwcD4KCnR5cGVkZWYgbG9uZyBsb25nIGludCBsbDsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdXNpbmcgbmFtZXNwYWNlIF9fZ251X3BiZHM7CiNkZWZpbmUgZmFzdGlvIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpO2NvdXQudGllKDApO2Npbi50aWUoMCk7Cgp0eXBlZGVmIHRyZWU8IHBhaXIgPCBsbCwgbGwgPiwgbnVsbF90eXBlLCBsZXNzPCBwYWlyIDwgbGwsIGxsID4gPiwgcmJfdHJlZV90YWcsIHRyZWVfb3JkZXJfc3RhdGlzdGljc19ub2RlX3VwZGF0ZT4gb3JkZXJlZF9zZXQ7Cgpjb25zdCBsbCBtb2QgPSAxZTkrNzsKY29uc3QgbGwgTUFYTiA9IDFlNSs1Owpjb25zdCBsbCBpbmYgPSAxZTE4OwoKaW50IG1haW4oKQp7CiAgICBmYXN0aW87CiAgICBsbCBuOwogICAgY2luID4+IG47CiAgICB2ZWN0b3IgPCBsbCA+IHgobik7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSBjaW4gPj4geFtpXTsKICAgIGxsIGxlbiA9IChsbClzcXJ0KG4pICsgMTsKICAgIHZlY3RvciA8IG9yZGVyZWRfc2V0ID4gcyhsZW4pOwogICAgZm9yKGludCBpID0gMDsgaTwgbjsgaSsrKXsKICAgICAgICBzW2kgLyBsZW5dLmluc2VydCh7eFtpXSwgaX0pOwogICAgfQogICAgbGwgcTsKICAgIGNpbiA+PiBxOwogICAgd2hpbGUocS0tKXsKICAgICAgICBsbCBhOwogICAgICAgIGNpbiA+PiBhOwogICAgICAgIGlmKGEgPT0gMCl7CiAgICAgICAgICAgIGxsIGwsIHIsIHksIGFucyA9IDA7CiAgICAgICAgICAgIGNpbiA+PiBsID4+IHIgPj4geTsKICAgICAgICAgICAgbC0tOyByLS07LyoKICAgICAgICAgICAgZm9yKGludCBpID0gbDsgaSA8PSByOyApewogICAgICAgICAgICAgICAgaWYoaSAlIGxlbiA9PSAwICYmIGkgKyBsZW4gLSAxIDw9IHIpewogICAgICAgICAgICAgICAgICAgIGFucyArPSBzW2kgLyBsZW5dLnNpemUoKSAtIHNbaSAvIGxlbl0ub3JkZXJfb2Zfa2V5KHt5LCAtaW5mfSk7CiAgICAgICAgICAgICAgICAgICAgaSArPSBsZW47CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICBpZih4W2ldID49IHkpIGFucysrOwogICAgICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSovCiAgICAgICAgICAgIGxsIGNfbCA9IGwgLyBsZW4sIGNfciA9IHIgLyBsZW47CiAgICAgICAgICAgIGlmKGNfbCA9PSBjX3IpewogICAgICAgICAgICAgICAgZm9yKGludCBpID0gbDsgaSA8PSByOyBpKyspewogICAgICAgICAgICAgICAgICAgIGlmKHhbaV0gPj0geSkgYW5zKys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBjb3V0IDw8IGFucyA8PCBlbmRsOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yKGludCBpID0gbDsgaSA8IChjX2wgKyAxKSAqIGxlbjsgaSsrKXsKICAgICAgICAgICAgICAgIGlmKHhbaV0gPj0geSkgYW5zKys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yKGludCBpID0gKGNfbCArIDEpOyBpIDw9IChjX3IgLSAxKTsgaSsrKXsKICAgICAgICAgICAgICAgIGFucyArPSBzW2ldLnNpemUoKSAtIHNbaV0ub3JkZXJfb2Zfa2V5KHt5LCAtaW5mfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yKGludCBpID0gKGNfcikgKiBsZW47IGkgPD0gcjsgaSsrKXsKICAgICAgICAgICAgICAgIGlmKHhbaV0gPj0geSkgYW5zKys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY291dCA8PCBhbnMgPDwgZW5kbDsKICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgbGwgaW5kLCB2YWw7CiAgICAgICAgICAgIGNpbiA+PiBpbmQgPj4gdmFsOwogICAgICAgICAgICBpbmQtLTsKICAgICAgICAgICAgc1tpbmQgLyBsZW5dLmVyYXNlKHt4W2luZF0sIGluZH0pOwogICAgICAgICAgICBzW2luZCAvIGxlbl0uaW5zZXJ0KHt2YWwsIGluZH0pOwogICAgICAgICAgICB4W2luZF0gPSB2YWw7CiAgICAgICAgfQogICAgfQp9Cg==