class Solution {
public:
   vector<int> FindNumsAppearOnce(vector<int>& array) {
        int cnt=0,pre=1;
        for(auto x:array)cnt^=x;
        while(!(cnt&pre))pre<<=1;
        int res1=0,res2=0;
        for(auto x:array)if(x&pre)res1^=x;
        else res2^=x;
        return res1>res2?vector<int>{res2,res1}:vector<int>{res1,res2};
    }
};