/in/foo.cc: In function 'void build(int, int, int)':
/in/foo.cc:18:35: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
if(l==r){t[x]=l;return;}int mid=l+r>>1;
~^~
/in/foo.cc: In function 'void modify(int, int, int, int)':
/in/foo.cc:23:38: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
if(l==r){du[l]=inf;return;}int mid=l+r>>1;
~^~
/in/foo.cc: In function 'int main()':
/in/foo.cc:52:3: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
for(int x:P)printf("%d ",x);puts("");
^~~
/in/foo.cc:52:31: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'for'
for(int x:P)printf("%d ",x);puts("");
^~~~
/in/foo.cc:54:3: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
for(int x:Q)printf("%d ",x);puts("");
^~~
/in/foo.cc:54:31: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'for'
for(int x:Q)printf("%d ",x);puts("");
^~~~