Accepted
/in/foo.cc: In function 'int main()':
/in/foo.cc:22:21: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
dp[i^(1<<p)][j&(~(1<<to))^(1<<p)]+=dp[i][j];
~^~~~~~~~~~~
/in/foo.cc: In function 'int main()':
/in/foo.cc:22:21: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
dp[i^(1<<p)][j&(~(1<<to))^(1<<p)]+=dp[i][j];
~^~~~~~~~~~~