#include <bits/stdc++.h>
using namespace std;
long long n, m, ans, k;
map<long long, long long> ap[25];
long long mmp[25][25];
void dfsone(int x, int y, long long cur) {
  if (x > n || y > m) return;
  cur ^= mmp[x][y];
  if (x + y == (n + m) / 2 + 1) {
    ap[x][cur]++;
    return;
  }
  dfsone(x + 1, y, cur);
  dfsone(x, y + 1, cur);
}
void dfstwo(int x, int y, long long cur) {
  if (x < 1 || y < 1) return;
  if (x + y == (n + m) / 2 + 1) {
    ans += ap[x][cur];
    return;
  }
  cur ^= mmp[x][y];
  dfstwo(x - 1, y, cur);
  dfstwo(x, y - 1, cur);
}
int main() {
  cin >> n >> m >> k;
  ans = 0;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++) cin >> mmp[i][j];
  dfsone(1, 1, 0);
  dfstwo(n, m, k);
  cout << ans << endl;
  return 0;
}
