#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; long long Mod(long long val, long long m) { long long res = val % m; if (res < 0) res += m; return res; } vector A(200000); ll Adata[200000]; ll RSQdata[200000]; ll RSSQdata[200000]; ll n; ll RSQ(ll l,ll r){ ll id=l; ll L,q,R; ll res=0; while (r>=id){ L=id; q=id/n; R=min((q+1)*n-1,r); if (R-L+1==n){ res+=RSQdata[q]; } else{ for (ll i=L;i=id){ L=id; q=id/n; R=min((q+1)*n-1,r); if (R-L+1==n){ Adata[q]+=x; RSQdata[q]+=x*n; RSSQdata[q]+=2*x*RSQ(L,R)-n*x*x; } else{ for (ll i=L;i=id){ L=id; q=id/n; R=min((q+1)*n-1,r); if (R-L+1==n){ res+=RSSQdata[q]; } else{ for (ll i=L;i=n*n){ n+=1; } n-=1; for (ll i=0;i