#include <bits/stdc++.h>
using namespace std;
void solve2() {
  long long n, m;
  cin >> n >> m;
  long long i, j;
  long long dis[n];
  memset(dis, 0, sizeof(dis));
  long long a[n][m];
  set<long long> s;
  long long xx = 0;
  for (i = 0; i < n; i++) {
    s.clear();
    for (j = 0; j < m; j++) {
      cin >> a[i][j];
      s.insert(a[i][j]);
    }
    if (((int)(s).size()) > 1) dis[i] = 1;
    xx ^= a[i][0];
  }
  if (xx > 0) {
    cout << "TAK\n";
    for (i = 0; i < n; i++) {
      cout << "1 ";
    }
  } else {
    long long ansb = -1;
    long long ansi = -1;
    for (i = 0; i < n; i++) {
      if (dis[i] == 1) {
        for (j = 1; j < m; j++) {
          if (a[i][j] != a[i][0]) {
            ansb = i;
            ansi = j;
          }
        }
        break;
      }
    }
    if (ansb == -1) {
      cout << "NIE\n";
    } else {
      cout << "TAK\n";
      for (i = 0; i < n; i++) {
        if (i == ansb) {
          cout << ansi + 1 << " ";
        } else {
          cout << "1 ";
        }
      }
    }
  }
}
void solve() {
  long long n, m;
  cin >> n >> m;
  long long i, j;
  long long a[n][m];
  long long bitt[n][m][11];
  memset(bitt, 0, sizeof(bitt));
  bitset<11> b;
  for (i = 0; i < n; i++) {
    for (j = 0; j < m; j++) {
      cin >> a[i][j];
      long long x = a[i][j];
      b = x;
      for (long long ii = 0; ii < 11; ii++) {
        if (b[ii] == 1) {
          bitt[i][j][ii] = 1;
        }
      }
    }
  }
  long long bit2[n][11];
  memset(bit2, 0, sizeof(bit2));
  for (i = 0; i < n; i++) {
    for (long long ii = 0; ii < 11; ii++) {
      for (j = 0; j < m; j++) {
        bit2[i][ii] += bitt[i][j][ii];
      }
    }
  }
  long long f = 0;
  long long f1 = 0;
  long long ansbit = -1;
  long long sum = 0;
  long long sum2 = 0;
  for (long long ii = 0; ii < 11; ii++) {
    f1 = 0;
    sum = 0;
    sum2 = 0;
    for (i = 0; i < n; i++) {
      if (bit2[i][ii] > 0) {
        if (bit2[i][ii] == m) {
          sum2++;
        } else {
          sum++;
        }
      }
    }
    if (sum2 % 2 == 1) {
      ansbit = ii;
      f = 1;
      break;
    } else {
      if (sum > 0) {
        f = 1;
        ansbit = ii;
        break;
      }
    }
  }
  if (f) {
    cout << "TAK\n";
    if (sum2 % 2 == 1) {
      for (i = 0; i < n; i++) {
        if (bit2[i][ansbit] == m) {
          cout << "1 ";
        } else if (bit2[i][ansbit] == 0) {
          cout << 1 << " ";
        } else {
          for (j = 0; j < m; j++) {
            if (bitt[i][j][ansbit] == 0) {
              cout << j + 1 << " ";
              break;
            }
          }
        }
      }
    } else {
      long long rem = 1;
      ;
      for (i = 0; i < n; i++) {
        if (bit2[i][ansbit] == m) {
          cout << 1 << " ";
        } else if (bit2[i][ansbit] == 0) {
          cout << 1 << " ";
        } else {
          for (j = 0; j < m; j++) {
            if (rem > 0) {
              if (bitt[i][j][ansbit] == 1) {
                cout << j + 1 << " ";
                rem--;
                break;
              }
            } else {
              if (bitt[i][j][ansbit] == 0) {
                cout << j + 1 << " ";
                break;
              }
            }
          }
        }
      }
    }
  } else {
    cout << "NIE\n";
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  if (fopen("input.txt", "r")) {
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
  }
  cout << setprecision(20);
  long long t = 1;
  while (t--) {
    solve2();
  }
  return 0;
}
