#include <bits/stdc++.h>
using namespace std;
using vint = vector<int>;
using ll = long long;
using vll = vector<ll>;
using pint = pair<int, int>;
using vpint = vector<pint>;
using pll = pair<ll, ll>;
using vpll = vector<pll>;
using pill = pair<int, ll>;
using vpill = vector<pill>;
using plli = pair<ll, int>;
using vplli = vector<plli>;
#define fi first
#define se second
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
#define rep(i, n) for (int i = 0; i < (n); i++)
#define rrep(i, n) for(int i = (n)-1; i >= 0; --i)
#define FOR(i, a, b) for (int i = (a); i < (b); i++)
#define RFOR(i, a, b) for(int i = (a)-1; i >= (b); --i)
string encode(int v) {
auto s = bitset<100>(v).to_string();
reverse(all(s));
return s;
}
int decode(string s) {
reverse(all(s));
return bitset<100>(s).to_ulong();
}
string process(vector<vector<string>> a, int i, int j, int k, int n) {
int m = 2*(n-k-1);
if (i == m && j == m) {
int res = 0;
rep(x, 3) rep(y, 3) res += decode(a[y][x]);
return encode(res);
} else if (i == m) {
int res = 0;
rep(y, 3) res += decode(a[y][0]);
return encode(res);
} else if (j == m) {
int res = 0;
rep(x, 3) res += decode(a[0][x]);
return encode(res);
} else {
return a[0][0];
}
}