

class Solution {
public:
vector<int> missingTwo(vector<int>& nums)
{
int n = nums.size()+2;
int tmp = 0;
for(auto e : nums) tmp ^= e;
for(int i = 1;i<=n;i++) tmp ^= i;
int diff = 0;
while(1)
if(((tmp>>diff) & 1) == 1) break;
else diff++;
int a = 0,b = 0;
for(auto e : nums)
if(((e>>diff) & 1)==1) b^= e;
else a^=e;
for(int i = 1;i<=n;i++)
if(((i>>diff) & 1)==1) b^=i;
else a^=i;
return {a,b};
}
};