#include <bits/stdc++.h>
using namespace std;
int matrix[500][500], memo[500][1 << 11], x, y;
bool solve(int a, int Xor) {
  if (a == x) return Xor > 0;
  int &cur = memo[a][Xor];
  if (~cur) return cur;
  for (int i = 0; i < y; i++) {
    if (solve(a + 1, Xor ^ matrix[a][i])) {
      return cur = 1;
    }
  }
  return cur = 0;
}
void build(int a, int Xor) {
  if (a == x) return;
  for (int i = 0; i < y; i++) {
    if (solve(a + 1, Xor ^ matrix[a][i])) {
      cout << i + 1 << ' ';
      return build(a + 1, matrix[a][i] ^ Xor);
    }
  }
}
int main() {
  memset(memo, -1, sizeof(memo));
  cin >> x >> y;
  for (int i = 0; i < x; i++) {
    for (int c = 0; c < y; c++) cin >> matrix[i][c];
  }
  if (!solve(0, 0))
    cout << "NIE";
  else {
    cout << "TAK" << endl;
    build(0, 0);
  }
}
