#include <bits/stdc++.h>
using namespace std;
const int N = 30;
int n, m;
int a[N][N], dp[N];
int lll (int k) {
int ans = 0;
int pow[30] = {1};
for (int i = 1; i <= 21; i++) pow [i] = (2 * pow[i - 1]);
for (int i = 19; i >= 0; i--) {
if (k >= pow[i]) k -= pow[i], ans++;
}
return ans;
}
int main() {
ios::sync_with_stdio (false);
cin.tie (0);
cout.tie (0);
cin >> n >> m;
for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) cin >> a[i][j];
for (int i = 0; i < n; i++) {
dp[i] = m;
bool f = true;
for (int j = 0; j < n; j++) {
if (i == j) continue;
bool ff = true;
for (int k = 0; k < m; k++) {
if (a[i][k] != a[j][k]) {
ff = false;
break;
}
}
if (ff) {
f = false;
break;
}
}
if (!f) {
cout << "-1 ";
continue;
}
for (int k = 0; k < (1 << m); k++) {
bool flag = true;
for (int j = 0; j < n; j++) {
if (i == j) continue;
bool ff = true;
for (int kk = 0; kk < m; kk++) {
if ((k & (1 << kk)) && (a[i][kk] != a[j][kk])) {
ff = false;
break;
}
}
if (ff) {
flag = false;
break;
}
}
if (flag) dp[i] = min (dp[i], lll (k));
}
cout << dp[i] << " ";
}
return 0;
}