#include <bits/stdc++.h>
using namespace std;
long long a[105][105];
long long b[1000];
long long n, m;
long long ci;
void YPO(long long x) {
  long long i, j, k;
  long long ci1 = 0, ci2 = 0;
  for (i = 0; i < m; i++) {
    ci1 += a[i][x];
    ci2 += a[i][n - 1];
  }
  if (ci1 >= ci2) {
    ci = 0;
    return;
  }
  bool flag[105];
  memset(flag, 0, sizeof(flag));
  for (i = 1; i <= m; i++) {
    long long k = 0, val = -1000000;
    for (j = 0; j < m; j++) {
      if (a[j][n - 1] - a[j][x] > val && flag[j] == 0) {
        val = a[j][n - 1] - a[j][x];
        k = j;
      }
    }
    flag[k] = 1;
    ci1 -= a[k][x];
    ci2 -= a[k][n - 1];
    if (ci1 >= ci2) break;
  }
  if (ci > i) {
    ci = i;
    k = 0;
    for (j = 0; j < m; j++) {
      if (flag[j] == 1) {
        b[k] = j + 1;
        k++;
      }
    }
  }
  return;
}
int main() {
  long long i, j;
  scanf("%lld%lld", &n, &m);
  for (i = 0; i < m; i++)
    for (j = 0; j < n; j++) scanf("%lld", &a[i][j]);
  ci = m + 1;
  for (i = 0; i < n - 1; i++) YPO(i);
  printf("%lld\n", ci);
  for (i = 0; i < ci; i++) {
    printf("%lld", b[i]);
    if (i != ci - 1)
      printf(" ");
    else
      printf("\n");
  }
  return 0;
}
