].S)%=P,0),\
T[x].S=0,T[x].T=1))
public:
I void B(int& x,CI a,CI b,CI c,CI d,CI Qx...,Qx,Qy),0),
Qx>midX&&Qy<=midY&&(B(S1,Qx,Qy),0),
QxmidY&&(B(S2,Qx,Qy...),0),
Qx>midX&&Qy>midY&&(B(S3,Qx,Qy),0);
}
I void Add(int& x,CI a,CI b,CI...&((S+=Q(S0,Qx,Qy))%=P),
Qx>midX&&Qy<=midY&&((S+=Q(S1,Qx,Qy))%=P),
QxmidY&&((S+=Q(S2,Qx,Qy))%=P),
Qx>midX&&Qy>midY&&((S+=Q(S3,Qx,Qy))%=P),S;
}
}S;
int