#include<iostream>
using namespace std;
int x[10][10];
int main() {
	int n; cin >> n;
	for (int h = 0; h < n; h++) {
		for (int i = 1; i <= 10; i++) {
			for (int j = 1; j <= 10; j++)cin >> x[i][j];
		}

		for (int i = 0; i < (1 << 10); i++) {
			int bit[11]; for (int j = 0; j < 10; j++)bit[j + 1] = (i / (1 << j)) % 2;
			int T[12][12], V[12][12];
			for (int j = 0; j < 12; j++) {
				for (int k = 0; k < 12; k++) { T[j][k] = 0; V[j][k] = 0; }
			}

			for (int j = 1; j <= 10; j++) {
				if (bit[j] == 1) {
					T[0][j]++; T[0][j] %= 2;
					T[1][j]++; T[1][j] %= 2;
					T[0][j - 1]++; T[0][j - 1] %= 2;
					T[0][j + 1]++; T[0][j + 1] %= 2;
					V[0][j] = 1;
				}
			}
			for (int j = 1; j < 10; j++) {
				for (int k = 0; k < 10; k++) {
					if (T[j - 1][k + 0] != x[j - 1][k + 0]) {
						T[j - 1][k + 0]++; T[j - 1][k + 0] %= 2;
						T[j + 0][k + 0]++; T[j + 0][k + 0] %= 2;
						T[j + 1][k + 0]++; T[j + 1][k + 0] %= 2;
						T[j + 0][k - 1]++; T[j + 0][k - 1] %= 2;
						T[j + 0][k + 1]++; T[j + 0][k + 1] %= 2;
						V[j][k] = 1;
					}
				}
			}
			bool OK = true; for (int k = 0; k < 10; k++) { if (T[9][k] != x[9][k])OK = false; }
			if (OK == true) {
				for (int j = 0; j < 10; j++) {
					for (int k = 0; k < 10; k++) {
						if (k)cout << ' '; cout << V[j][k];
					}
					cout << endl;
				}
			}
		}
	}
	return 0;
}