#include #include using namespace std; /*二分探索で0以上n未満の中でm以上の最大のiを得る時、 A[n]の形で宣言した場合、lower_bound(A,A+n,m)-A; vector A(n)の形で宣言した場合、lower_bound(A.begin(), A.end(), m)-A.begin();*/ //char型は0~255までしか持つことができない int main(){ long long n; cin>>n; long long e[n+1]; e[0]=0; for(int i=0; i>a; e[i+1]=e[i]+a; } long long memo2=e[n]; int q; cin>>q; for(int i=0; i>y>>m>>d>>k; long long memo=e[m-1]+d; memo+=k-1; y+=memo/memo2; memo%=memo2; memo++; long long b=lower_bound(e,e+n,memo)-e; long long c=memo-e[b-1]; cout<