#include<bits/stdc++.h>
#define int long long int
using namespace std;

int n, k, a[110], dp[110][110][260], ans = 0;
int MOD = 1000000007;

signed main()
{
  cin >> n >> k;
  for(int i = 1; i <= n; i++){
    cin >> a[i];
  }

  for(int i = 0; i < n; i++){
    dp[0][i][0] = 1;
  }
  
  for(int i1 = 0; i1 < n; i1++){
    for(int i3 = 0; i3 < n; i3++){
      for(int j = 0; j <= 255; j++){
	dp[i1 + 1][i3 + 1][j ^ a[i3 + 1]] += dp[i1][i3][j] * (i1 + 1);
	dp[i1 + 1][i3 + 1][j ^ a[i3 + 1]] %= MOD;
      }
      for(int j = 0; j <= 255; j++){
	dp[i1 + 1][i3 + 1][j] += dp[i1 + 1][i3][j];
	dp[i1 + 1][i3 + 1][j] %= MOD;
      }
    }
  }
  
  for(int i = 1; i <= n; i++){
    ans += dp[i][n][k];
    ans %= MOD;
  }

  cout << ans << endl;

  return 0;
}
