// TLE #include #include #include #define repeat(i,n) for (int i = 0; (i) < int(n); ++(i)) #define repeat_from(i,m,n) for (int i = (m); (i) < int(n); ++(i)) using namespace std; int main() { int n, q; cin >> n >> q; vector x(n); map, int> f; f[x] = 0; repeat (t,q) { char c; cin >> c; if (c == '!') { int l, r, k; cin >> l >> r >> k; repeat_from (i,l,r) x[i] += k; if (not f.count(x)) f[x] = t+1; } else if (c == '?') { cout << f[x] << endl; } } return 0; }