D.cpp: In function 'int main()':
D.cpp:38:10: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
chk[i - 1 << 1 | 1] = 1; P[i - 1 << 1 | 1] = -1;
~~^~~
D.cpp:38:33: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
chk[i - 1 << 1 | 1] = 1; P[i - 1 << 1 | 1] = -1;
~~^~~
D.cpp:39:13: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
Q.push(i - 1 << 1 | 1);
~~^~~
D.cpp:44:8: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
V[b - 1 << 1].push_back(i - 1 << 1 | 1);
~~^~~
D.cpp:44:30: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
V[b - 1 << 1].push_back(i - 1 << 1 | 1);
~~^~~
D.cpp:45:8: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
V[b - 1 << 1 | 1].push_back(i - 1 << 1);
~~^~~
D.cpp:45:34: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
V[b - 1 << 1 | 1].push_back(i - 1 << 1);
~~^~~
D.cpp:61:11: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
if(chk[s - 1 << 1]){
~~^~~
D.cpp:63:13: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
for(i = s - 1 << 1; i != -1; i = P[i]){
~~^~~
D.cpp:69:9: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
dfs(s - 1 << 1);
~~^~~
D.cpp:32:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d", &n, &m);
~~~~~^~~~~~~~~~~~~~~~
D.cpp:35:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &a);
~~~~~^~~~~~~~~~
D.cpp:43:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &b);
~~~~~^~~~~~~~~~
D.cpp:49:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &s);
~~~~~^~~~~~~~~~