#include <bits/stdc++.h>
using namespace std;
const long long N = 1e2 + 9;
long long a[N][N];
long long n, m;
long long c[N], r[N];
set<long long> ansc, ansr;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> m;
  for (long long i = 0; i < (n); i++)
    for (long long j = 0; j < (m); j++) {
      cin >> a[i][j];
      r[i] += a[i][j];
      c[j] += a[i][j];
    }
  long long go = 1;
  while (go) {
    go = 0;
    for (long long i = 0; i < (n); i++)
      if (r[i] < 0) {
        if (ansr.find(i) == ansr.end())
          ansr.insert(i);
        else
          ansr.erase(i);
        for (long long j = 0; j < (m); j++) {
          r[i] -= a[i][j];
          r[i] += -a[i][j];
          c[j] -= a[i][j];
          c[j] += -a[i][j];
          a[i][j] *= -1;
        }
        go = 1;
        break;
      }
    if (go) continue;
    for (long long j = 0; j < (m); j++)
      if (c[j] < 0) {
        if (ansc.find(j) == ansc.end())
          ansc.insert(j);
        else
          ansc.erase(j);
        for (long long i = 0; i < (n); i++) {
          r[i] -= a[i][j];
          r[i] += -a[i][j];
          c[j] -= a[i][j];
          c[j] += -a[i][j];
          a[i][j] *= -1;
        }
        go = 1;
        break;
      }
  }
  cout << ansr.size() << ' ';
  for (auto it : ansr) cout << it + 1 << ' ';
  cout << endl;
  cout << ansc.size() << ' ';
  for (auto it : ansc) cout << it + 1 << ' ';
  cout << endl;
}
