#include <bits/stdc++.h>
using namespace std;
map<long long, long long> dp[21];
long long n, m, k, a[21][21];
void pre(int i, int j, long long k) {
  if (i >= n || j >= m) return;
  if (i + j == (n + m) / 2 - 1) {
    dp[i][a[i][j] ^ k]++;
    return;
  }
  pre(i + 1, j, k ^ a[i][j]);
  pre(i, j + 1, k ^ a[i][j]);
}
long long suf(int i, int j, long long k) {
  if (i < 0 || j < 0) return 0;
  if (i + j == (n + m) / 2 - 1) return dp[i][k];
  return suf(i - 1, j, k ^ a[i][j]) + suf(i, j - 1, k ^ a[i][j]);
}
int main() {
  scanf("%lld%lld%lld", &n, &m, &k);
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++) scanf("%lld", &a[i][j]);
  pre(0, 0, 0);
  printf("%lld\n", suf(n - 1, m - 1, k));
  return 0;
}
