#include <bits/stdc++.h>
using namespace std;
inline long long read() {
  char ch = getchar();
  long long x = 0, f = 1;
  while (ch > '9' || ch < '0') {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') {
    x = x * 10 + ch - '0';
    ch = getchar();
  }
  return x * f;
}
int h[2020202], l[2020202];
int cnt = 0, dnt = 0;
int a[202][202];
int ans[202022];
int main() {
  int n = read(), m = read();
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) {
      a[i][j] = read();
    }
  }
  int ff = 0;
  while (1) {
    for (int i = 1; i <= n; i++) {
      ff = 0;
      int sum = 0;
      for (int j = 1; j <= m; j++) {
        sum += a[i][j];
      }
      if (sum < 0) {
        h[i]++;
        ff = 1;
        for (int j = 1; j <= m; j++) {
          a[i][j] = -a[i][j];
        }
        break;
      }
    }
    if (ff == 1) continue;
    for (int j = 1; j <= m; j++) {
      ff = 0;
      int sum = 0;
      for (int i = 1; i <= n; i++) {
        sum += a[i][j];
      }
      if (sum < 0) {
        l[j]++;
        ff = 1;
        for (int i = 1; i <= n; i++) {
          a[i][j] = -a[i][j];
        }
        break;
      }
    }
    if (ff == 0) break;
  }
  for (int i = 1; i <= n; i++) {
    h[i] %= 2;
    if (h[i] == 1) {
      cnt++;
      ans[cnt] = i;
    }
  }
  cout << cnt << ' ';
  for (int i = 1; i <= cnt; i++) {
    cout << ans[i] << ' ';
  }
  cout << endl;
  for (int i = 1; i <= m; i++) {
    l[i] %= 2;
    if (l[i] == 1) {
      dnt++;
      ans[dnt] = i;
    }
  }
  cout << dnt << ' ';
  for (int i = 1; i <= dnt; i++) {
    cout << ans[i] << ' ';
  }
  return 0;
}
