// TLE #include <iostream> #include <vector> #include <map> #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<int> x(n); map<vector<int>, 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; }