#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 = 0; i < 100; i++)cin >> x[i / 10][i % 10];
		for (int i = 0; i < (1 << 10); i++) {
			int bit[10]; for (int j = 0; j < 10; j++)bit[j] = (i / (1 << j)) % 2;
			int T[11][10], V[10][10]; for (int j = 0; j < 110; j++) { T[j / 10][j % 10] = 0; V[j / 10][j % 10] = 0; }
			for (int j = 0; j < 10; j++) {
				if (bit[j] == 1) {
					T[0][j]++; V[0][j] = 1;
					if (j > 0)T[0][j - 1]++; if (j < 9)T[0][j + 1]++; T[1][j]++;
				}
			}
			for (int j = 1; j < 10; j++) {
				for (int k = 0; k < 10; k++) {
					if (T[j - 1][k] % 2 != x[j - 1][k]) {
						T[j - 1][k]++; T[j][k]++; T[j + 1][k]++; V[j][k] = 1;
						if (k > 0)T[j][k - 1]++; if (k < 9)T[j][k + 1]++;
					}
				}
			}
			bool OK = true; for (int k = 0; k < 10; k++)if (T[9][k] % 2 != 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;
				}
				break;
			}
		}
	}
	return 0;
}