#include using namespace std; typedef long long ll; // typedef __uint128_t ll; typedef int _loop_int; #define REP(i,n) for(_loop_int i=0;i<(_loop_int)(n);++i) #define DEBUG(x) cout<<#x<<": "< M; ll cur = 0; M[cur] = 0; REP(i,q){ scanf("%s",buf); if(buf[0]=='!'){ int l,r,k; scanf("%d%d%d",&l,&r,&k); ll v = (MOD+(bsum[r]-bsum[l]+MOD)%MOD*k%MOD)%MOD; cur = (cur + v)%MOD; if(!M.count(cur)){ M[cur] = i+1; } }else{ // query printf("%d\n",M[cur]); } } return 0; }