#include <iostream>
#include <cstring>
#include <queue>
using namespace std;

int main() {
	int N;
	int map[9][9];
	bool flg[9][9];
	cin >> N;
	while (N--) {
		memset(flg, 0, sizeof(flg));
		for (int i=0; i<9; i++)
		for (int j=0; j<9; j++)
			cin >> map[i][j];

		int cnt[3][9];

		for (int i=0; i<9; i++) {
			memset(cnt, 0, sizeof(cnt));
			for (int j=0; j<9; j++) {
				cnt[0][map[i][j]-1]++;
				cnt[1][map[j][i]-1]++;
				cnt[2][map[3*(i/3)+j/3][3*(i%3)+j%3]-1]++;
			}
			queue<int> q;
			for (int j=0; j<9; j++) {
				for (int k=0; k<3; k++) {
					if (cnt[k][j] > 1) q.push(k);
				}
				while (!q.empty()) {
					int p = q.front(); q.pop();
					for (int k=0; k<9; k++) {
						if (p==0&&map[i][k]==j+1) flg[i][k] = true;
						if (p==1&&map[k][i]==j+1) flg[k][i] = true;
						if (p==2&&map[3*(i/3)+k/3][3*(i%3)+k%3]==j+1) flg[3*(i/3)+k/3][3*(i%3)+k%3] = true;
					}
				}
			}
		}

		for (int i=0; i<9; i++) {
			for (int j=0; j<9; j++)
				cout << (flg[i][j] ? '*':' ') << map[i][j];
			cout << endl;
		}

		if (N) cout << endl;
	}
	return 0;
}