#include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef vector vll; #define for1(i,n) for (ll i=0;i<(n);i++) #define for2(i,m,n) for (ll i=(m);i<(n);i++) #define for3(i,m,n,d) for (ll i=(m);i<(n);i+=(d)) #define DEBUG 0 template void dumplist(T list) { for (auto item : list) { cout << item << " "; } cout << endl; } void solve() { ll N,Q,q,x; cin >> N >> Q; vector connected(N,false); vector A(N,0); for1(i,N) { cin >> A[i]; } for1(i,Q) { cin >> q >> x; --x; // connect x if (q == 1) { connected[x] = true; } // separate x else if (q == 2) { connected[x] = false; } // remodel x else if (q == 3) { A[x] += 1; } // attractiveness x else if (q == 4) { ll ans = 0; ans = A[x]; for (ll j = x; j < N && connected[j]; ++j) { ans += A[j+1]; } for (ll j = x-1; j >= 0 && connected[j]; --j) { ans += A[j]; } cout << ans << endl; } } } int main() { do { solve(); } while (DEBUG); }