nautilus.cpp: In function 'void solve()':
nautilus.cpp:38:41: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
38 | dp[k&1][i] = a[i]&((dp[k&1^1][i]>>1)|(dp[k&1^1][i]<<1)|(dp[k&1^1][i-1])|(dp[k&1^1][i+1]));
| ~^~
nautilus.cpp:38:59: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
38 | dp[k&1][i] = a[i]&((dp[k&1^1][i]>>1)|(dp[k&1^1][i]<<1)|(dp[k&1^1][i-1])|(dp[k&1^1][i+1]));
| ~^~
nautilus.cpp:38:77: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
38 | dp[k&1][i] = a[i]&((dp[k&1^1][i]>>1)|(dp[k&1^1][i]<<1)|(dp[k&1^1][i-1])|(dp[k&1^1][i+1]));
| ~^~
nautilus.cpp:38:94: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
38 | dp[k&1][i] = a[i]&((dp[k&1^1][i]>>1)|(dp[k&1^1][i]<<1)|(dp[k&1^1][i-1])|(dp[k&1^1][i+1]));
| ~^~
nautilus.cpp:41:57: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
41 | if(s[k-1] == 'S') dp[k&1][i] = a[i]&dp[k&1^1][i-1];
| ~^~
nautilus.cpp:42:57: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
42 | if(s[k-1] == 'N') dp[k&1][i] = a[i]&dp[k&1^1][i+1];
| ~^~
nautilus.cpp:43:58: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
43 | if(s[k-1] == 'W') dp[k&1][i] = a[i]&(dp[k&1^1][i]>>1);
| ~^~
nautilus.cpp:44:58: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
44 | if(s[k-1] == 'E') dp[k&1][i] = a[i]&(dp[k&1^1][i]<<1);
| ~^~