#include <bits/stdc++.h>
using namespace std;
int arr[100000], idx[100000];
vector<int> adj[200000];
short vis[200000];
vector<int> ans;
bool comp(int a, int b) { return arr[a] < arr[b]; }
void dfs(int ni) {
  vis[ni] = 1;
  int l = adj[ni].size();
  for (int i = 0; i < l; i++) {
    if (vis[adj[ni][i]] == 1) {
      cout << -1 << endl;
      exit(0);
    } else if (!vis[adj[ni][i]]) {
      dfs(adj[ni][i]);
    }
  }
  vis[ni] = 2;
  ans.push_back(ni);
  return;
}
int main() {
  ios::sync_with_stdio(false);
  int n, m;
  cin >> n >> m;
  int vir = m;
  for (int i = 0; i < n; i++) {
    int np = 0;
    for (int j = 0; j < m; j++) {
      cin >> arr[j];
      if (arr[j] != -1) {
        idx[np++] = j;
      }
    }
    sort(idx, idx + np, comp);
    vir++;
    for (int j = 0; j < np; j++) {
      int &tmp = idx[j];
      if (j && arr[tmp] != arr[idx[j - 1]]) {
        vir++;
      }
      adj[vir].push_back(tmp);
      adj[tmp].push_back(vir + 1);
    }
    vir++;
  }
  for (int i = 0; i < vir; i++) {
    if (!vis[i]) {
      dfs(i);
    }
  }
  int l = ans.size();
  for (int i = l - 1; i >= 0; i--) {
    if (ans[i] < m) {
      cout << ans[i] + 1 << " ";
    }
  }
  cout << endl;
  return 0;
}
