/in/foo.cc: In function 'll calc(int, ll, ll)':
/in/foo.cc:35:51: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
inline ll calc(int u,ll s,ll h){return ch[u][1]?(s-h<<1):((a[u]<<1)>s?(s-a[u]<<1):s-1);}
~^~
/in/foo.cc:35:73: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
inline ll calc(int u,ll s,ll h){return ch[u][1]?(s-h<<1):((a[u]<<1)>s?(s-a[u]<<1):s-1);}
~^~~~~
/in/foo.cc: In function 'void rot(int)':
/in/foo.cc:41:28: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
if(ch[fa][d]=ch[o][d^1])f[ch[fa][d]]=fa;
^
/in/foo.cc: In function 'void work(int)':
/in/foo.cc:60:34: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
ans+=(maxn<<1)>sum[u]?(sum[u]-maxn<<1):sum[u]-1;
~~~~~~^~~~~