func_code_string: #include <bits/stdc++.h>   using namespace std;   long long fen[2][2][1010][1010];   int n, m;   void updateFen(int a, int b, int x, int y, long long t) {     for (int i = x; i <= n / 2 + 5; i += i & (-i))       for (int j = y; j <= n / 2 + 5; j += j & (-j)) fen[a][b][i][j] ^= t;   }   long long getFen(int a, int b, int x, int y) {     long long res = 0;     for (int i = x; i > 0; i -= (i & (-i)))       for (int j = y; j > 0; j -= (j & (-j))) res ^= fen[a][b][i][j];     return res;   }   void update(int x, int y, long long t) {     updateFen(x % 2, y % 2, x / 2 + 1, y / 2 + 1, t);   }   long long get(int x, int y) {     return getFen(x % 2, y % 2, x / 2 + 1, y / 2 + 1);   }   int main() {     cin >> n >> m;     for (int i = 0; i < m; i++) {       int t;       cin >> t;       if (t == 1) {         int x1, y1, x2, y2;         long long res = 0;         cin >> x1 >> y1 >> x2 >> y2;         res ^= get(x2, y2);         res ^= get(x1 - 1, y2);         res ^= get(x2, y1 - 1);         res ^= get(x1 - 1, y1 - 1);         cout << res << endl;       } else {         int x1, y1, x2, y2;         long long v;         cin >> x1 >> y1 >> x2 >> y2 >> v;         update(x1, y1, v);         update(x2 + 1, y1, v);         update(x1, y2 + 1, v);         update(x2 + 1, y2 + 1, v);       }     }   }   