The problem is [Google APAC 2016 Round E Problem C](https://code.google.com/codejam/contest/8264486/dashboard#s=p2)↵
↵
I can't understand the problem in my solution described below↵
↵
We can create a tree and then find the pattern as follows:↵
![ ](http://mirror.codeforces.com/predownloaded/5a/7e/5a7eac1d5d4ee0bde51dcd1f35d1ddcd35224d83.png)↵
↵
As can be seen above, there are only 8 possible numbers (not necessarily distinct) shown below:↵
{0, x, x&k, x|k, (∼x)&k, x&(∼k), x^k, k}↵
(where ∼n represents bitwise negation of n; and all operators have their usual meanings)↵
↵
So we can create a transition table for each of these numbers for each of the possiblities of AND, OR, XOR.↵
Using this logic I arrived at [this solution](http://ideone.com/y1dsQj)↵
↵
But my program is giving incorrect answer. Can someone point out the flaw in logic and/or implementation, please.
↵
I can't understand the problem in my solution described below↵
↵
We can create a tree and then find the pattern as follows:↵
![ ](http://mirror.codeforces.com/predownloaded/5a/7e/5a7eac1d5d4ee0bde51dcd1f35d1ddcd35224d83.png)↵
↵
As can be seen above, there are only 8 possible numbers (not necessarily distinct) shown below:↵
{0, x, x&k, x|k, (∼x)&k, x&(∼k), x^k, k}↵
(where ∼n represents bitwise negation of n; and all operators have their usual meanings)↵
↵
So we can create a transition table for each of these numbers for each of the possiblities of AND, OR, XOR.↵
Using this logic I arrived at [this solution](http://ideone.com/y1dsQj)↵
↵
But my program is giving incorrect answer. Can someone point out the flaw in logic and/or implementation, please.