#includeusing namespace std; typedef long long ll; int a[41]; ll dp[3][(1<<20)+100]; int main() { int t,kase=1;scanf(%d,&t); while(t--){ memset(dp,0,sizeof(dp)); int n,m;scanf(%d%d,&n,&m); for(int i=1;i<=n;i++) scanf(%d,&a[i]); dp[0][0]=1; for(int i=1;i<=n;i++) for(int j=0;j<=(1<<20);j++) dp[i%2][j]=dp[(i-1)%2][j]+dp[(i-1)%2][j^a[i]]; // printf(%lld ,dp[n%2][1<<20]); ll sum=0; for(int i=m;i<=(1<<20);i++) { sum+=dp[n%2][i]; if(dp[n%2][i]!=0); } // printf(%lld ,dp[n%2][1<<20]); // for(int i=m+1;i<=30;i++) { printf(%lld ,sum); } printf(Case #%d: %lld ,kase++, sum); } return 0; }