pipes.cpp: In function 'void rot(int)':
pipes.cpp:27:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
if(~q) go[z][q]=x;go[y][p]=w;go[x][p^1]=y;
^~
pipes.cpp:27:20: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
if(~q) go[z][q]=x;go[y][p]=w;go[x][p^1]=y;
^~
pipes.cpp:28:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
if(w) fa[w]=y;fa[y]=x;fa[x]=z;
^~
pipes.cpp:28:16: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
if(w) fa[w]=y;fa[y]=x;fa[x]=z;
^~
pipes.cpp: In function 'void cl(int)':
pipes.cpp:31:60: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
void cl(int x){ do stk[++top]=x;while(~pd(x) && !((x=fa[x])*0));for(;top;push(stk[top--]));}
~~~~~~~~~~^~~
pipes.cpp: In function 'int main()':
pipes.cpp:41:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%i %i",&n,&m);
~~~~~^~~~~~~~~~~~~~~
pipes.cpp:45:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%i %i",&u,&v);
~~~~~^~~~~~~~~~~~~~~