/in/foo.cc: In function 'void update(const int&, const int&, const int&)':
/in/foo.cc:32:24: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
32 | const int&mid=L+R>>1;t[u]=Merge(t[u<<1],w1[mid],w2[mid],t[u<<1|1]);
| ~^~
/in/foo.cc: In function 'void Build(const int&, const int&, const int&)':
/in/foo.cc:36:24: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
36 | const int&mid=L+R>>1;Build(u<<1,L,mid);Build(u<<1|1,mid+1,R);update(u,L,R);
| ~^~
/in/foo.cc: In function 'void Mdf(const int&, const int&, const int&, const int&, const int&)':
/in/foo.cc:40:24: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
40 | const int&mid=L+R>>1;x<=mid?Mdf(u<<1,x,w,L,mid):Mdf(u<<1|1,x,w,mid+1,R);update(u,L,R);
| ~^~
/in/foo.cc: In function 'void Update(const int&, const int&, const int&, const int&)':
/in/foo.cc:43:24: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
43 | const int&mid=L+R>>1;if(x!=mid)x<=mid?Update(u<<1,x,L,mid):Update(u<<1|1,x,mid+1,R);update(u,L,R);
| ~^~
/in/foo.cc: In function 'data Qry(const int&, const int&, const int&, const int&, const int&)':
/in/foo.cc:47:24: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
47 | const int&mid=L+R>>1;if(r<=mid)return Qry(u<<1,l,r,L,mid);if(l>mid)return Qry(u<<1|1,l,r,mid+1,R);
| ~^~
/in/foo.cc: In function 'int main()':
/in/foo.cc:55:35: warning: variable 'x1' set but not used [-Wunused-but-set-variable]
55 | int x0,y0,x1,y1;x0=read();y0=read();x1=read();y1=read();
| ^~