令和为
s
u
m
sum
sum,异或和为
X
X
X.
则有
s
u
m
+
s
u
m
+
(
s
u
m
+
X
)
=
2
∗
(
s
u
m
+
X
)
sum+sum+(sum+X)=2*(sum+X)
sum+sum+(sum+X)=2∗(sum+X)
X
⊕
X
⊕
(
X
+
s
u
m
)
=
X
+
s
u
m
X\oplus X\oplus (X+sum)=X+sum
X⊕X⊕(X+sum)=X+sum
加入的两个数为
X
X
X和
s
u
m
sum
sum
#include<bits/stdc++.h>
using namespace std;
int main(){
//freopen("in.txt","r",stdin);
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
int t;
cin>>t;
while(t--){
int n;
long long bb;
cin>>n;
long long sum=0 ,x=0;
for(int i=1;i<=n;i++){
cin>>bb;
sum+=bb;
x^=bb;
}
cout<<2<<'\n';
cout<<x<<' '<<sum+x<<'\n';
}
}