#include #include #include using namespace std; #define n 2000005 #define P 998244353 #define For(i,a,b) for(int i=a;i<=b;i++) int T,N,D,Rt,Ans,A[n][2],siz[n]; void Ask(int u,int d,int x) { if (d>30) return; if (!u) return; int t=(x>>d)&1; Ans=((1ll<30) return; if (!u) siz[u=++D]=0,A[u][0]=A[u][1]=0; siz[u]++; int t=(x>>d)&1; Add(A[u][t],d+1,x); } int main() { scanf("%d",&T); For(pp,1,T) { scanf("%d",&N); A[1][0]=A[1][1]=siz[1]=Ans=0; D=Rt=1; For(i,1,N) { int x;scanf("%d",&x); Ask(Rt,0,x); Add(Rt,0,x); } printf("Case #%d: %d\n",pp,(Ans*2)%P); } }