#include using namespace std; int main() { int n, q; cin >> n >> q; vector cap(n), lvl(n+1); for (int &x: cap) cin >> x; cap.push_back(INT_MAX); vector par(n+1), stk = {n}; for (int i = n-1; i >= 0; i--) { while (cap[stk.back()] <= cap[i]) stk.pop_back(); par[i] = stk.back(); stk.push_back(i); } while (q--) { char t; int k; cin >> t >> k; k--; if (t == '+') { int x; cin >> x; while (k < n && x > 0) { int y = min(x, cap[k]-lvl[k]); x -= y, lvl[k] += y; k = par[k]; } } else { cout << lvl[k] << endl; } } }