func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, m;   long long k, wyn;   long long tab[27][27];   map<long long, long long> odp[27][27];   void back1(int, int, long long);   void back2(int, int, long long);   int main() {     ios_base::sync_with_stdio(0);     cin >> n >> m >> k;     for (int i = 1; i <= n; i++) {       for (int j = 1; j <= m; j++) cin >> tab[i][j];     }     back1(1, 1, tab[1][1]);     back2(n, m, k);     if (n == 1 && m == 1 && tab[1][1] == k)       cout << 1;     else       cout << wyn;     return 0;   }   void back1(int x, int y, long long akt) {     if (x + y == n + 1) {       odp[x][y][akt]++;       return;     }     if (x + 1 <= n) back1(x + 1, y, (akt ^ tab[x + 1][y]));     if (y + 1 <= m) back1(x, y + 1, (akt ^ tab[x][y + 1]));   }   void back2(int x, int y, long long akt) {     if (x + y == n + 1) {       wyn += odp[x][y][akt];       return;     }     if (x - 1 >= 1) back2(x - 1, y, (akt ^ tab[x][y]));     if (y - 1 >= 1) back2(x, y - 1, (akt ^ tab[x][y]));   }   