#include <iostream>
using namespace std;
bool wypelnijTablice(int tablica[9][9], bool poprawne)
{
for (int i = 0; i <9; i++)
{
for (int j = 0; j <9; j++)
{
cin >> tablica[i][j];
if (tablica[i][j] < 0 || tablica[i][j] > 9)
{
poprawne = false;
break;
}
}
if (poprawne == false)
break;
}
return poprawne;
}
bool sprawdzWiersze(int tablica[9][9], bool poprawne)
{
for (int i = 0; i < 9; i++) // petla przechodzaca po wierszach
{
for (int j = 0; j <9; j++) // petla przechodzaca po kolumnach w wierszu
{
for (int k = j + 1; k < 9; k++) // petla przechodzaca po pozostalych elementach w wierszu
{
// szukajaca czy sa powtarzajace sie wyrazy w wierszu
if (tablica[i][j] == tablica[i][k])
{
poprawne = false;
break;
}
}
if (poprawne == false)
break;
}
if (poprawne == false)
break;
}
return poprawne;
}
bool sprawdzKolumny(int tablica[9][9], bool poprawne)
{
for (int i = 1; i < 9; i++)
{
for (int j = 0; j <9; j++)
{
for (int k = i + 1; k < 9; k++)
{
if (tablica[i][j] == tablica[k][j])
{
poprawne = false;
break;
}
}
if (poprawne == false)
break;
}
if (poprawne == false)
break;
}
return poprawne;
}
bool sprawdz3x3(int tablica[9][9], bool poprawne)
{
int pomocnicza[9];
int licznik;
for (int k = 0; k < 9; k += 3)
{
for (int l = 0; l < 9; l += 3)
{
licznik = 0;
for (int i = 0; i <3; i++)
{
for (int j = 0; j < 3; j++)
{
pomocnicza[licznik] = tablica[k + i][l + j];
licznik ++;
}
}
for (int i = 0; i < 9; i++)
{
for (int j = i + 1; j < 9; j++)
{
if (pomocnicza[i] == pomocnicza[j])
{
poprawne = false;
break;
}
}
if (poprawne == false)
break;
}
if (poprawne == false)
break;
}
if (poprawne == false)
break;
}
return poprawne;
}
int main()
{
int sudoku[9][9];
bool poprawne;
int testy;
cin >> testy;
for (int i = 1; i <= testy; i ++)
{
poprawne = true;
poprawne = wypelnijTablice(sudoku, poprawne);
if (poprawne != false)
poprawne = sprawdzWiersze(sudoku, poprawne);
if (poprawne != false)
poprawne = sprawdzKolumny(sudoku, poprawne);
if (poprawne != false)
poprawne = sprawdz3x3(sudoku, poprawne);
if (poprawne)
cout << "TAK" << endl;
else
cout << "NIE" << endl;
}
return 0;
}