Problem p03263 (C++)

Buggy submission (status: Runtime Error):
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i, n) for (int i = 0; i < (n); i++)
#define rep1(i, n) for (int i = 1; i <= (n); i++)
#define co(x) cout << (x) << "\n"
#define cosp(x) cout << (x) << " "
#define ce(x) cerr << (x) << "\n"
#define cesp(x) cerr << (x) << " "
#define pb push_back
#define mp make_pair
#define putchar putchar_unlocked
#define Would
#define you
#define please

const int cm = 1 << 17;
char cn[cm], *ci = cn, ct;

inline int getint() {
  int A = 0;
  while ((ct = *ci++) >= '0')
    A = A * 10 + ct - '0';
  return A;
}
inline bool getA() {
  bool A = *ci++ & 1;
  ci++;
  return A;
}

const int dm = 1 << 21;
char dn[dm], *di = dn, dt;
char c[2004] = {
    1, 48, 0,  0,  1, 49, 0,  0,  1, 50, 0,  0,  1, 51, 0,  0,  1, 52, 0,  0,
    1, 53, 0,  0,  1, 54, 0,  0,  1, 55, 0,  0,  1, 56, 0,  0,  1, 57, 0,  0,
    2, 49, 48, 0,  2, 49, 49, 0,  2, 49, 50, 0,  2, 49, 51, 0,  2, 49, 52, 0,
    2, 49, 53, 0,  2, 49, 54, 0,  2, 49, 55, 0,  2, 49, 56, 0,  2, 49, 57, 0,
    2, 50, 48, 0,  2, 50, 49, 0,  2, 50, 50, 0,  2, 50, 51, 0,  2, 50, 52, 0,
    2, 50, 53, 0,  2, 50, 54, 0,  2, 50, 55, 0,  2, 50, 56, 0,  2, 50, 57, 0,
    2, 51, 48, 0,  2, 51, 49, 0,  2, 51, 50, 0,  2, 51, 51, 0,  2, 51, 52, 0,
    2, 51, 53, 0,  2, 51, 54, 0,  2, 51, 55, 0,  2, 51, 56, 0,  2, 51, 57, 0,
    2, 52, 48, 0,  2, 52, 49, 0,  2, 52, 50, 0,  2, 52, 51, 0,  2, 52, 52, 0,
    2, 52, 53, 0,  2, 52, 54, 0,  2, 52, 55, 0,  2, 52, 56, 0,  2, 52, 57, 0,
    2, 53, 48, 0,  2, 53, 49, 0,  2, 53, 50, 0,  2, 53, 51, 0,  2, 53, 52, 0,
    2, 53, 53, 0,  2, 53, 54, 0,  2, 53, 55, 0,  2, 53, 56, 0,  2, 53, 57, 0,
    2, 54, 48, 0,  2, 54, 49, 0,  2, 54, 50, 0,  2, 54, 51, 0,  2, 54, 52, 0,
    2, 54, 53, 0,  2, 54, 54, 0,  2, 54, 55, 0,  2, 54, 56, 0,  2, 54, 57, 0,
    2, 55, 48, 0,  2, 55, 49, 0,  2, 55, 50, 0,  2, 55, 51, 0,  2, 55, 52, 0,
    2, 55, 53, 0,  2, 55, 54, 0,  2, 55, 55, 0,  2, 55, 56, 0,  2, 55, 57, 0,
    2, 56, 48, 0,  2, 56, 49, 0,  2, 56, 50, 0,  2, 56, 51, 0,  2, 56, 52, 0,
    2, 56, 53, 0,  2, 56, 54, 0,  2, 56, 55, 0,  2, 56, 56, 0,  2, 56, 57, 0,
    2, 57, 48, 0,  2, 57, 49, 0,  2, 57, 50, 0,  2, 57, 51, 0,  2, 57, 52, 0,
    2, 57, 53, 0,  2, 57, 54, 0,  2, 57, 55, 0,  2, 57, 56, 0,  2, 57, 57, 0,
    3, 49, 48, 48, 3, 49, 48, 49, 3, 49, 48, 50, 3, 49, 48, 51, 3, 49, 48, 52,
    3, 49, 48, 53, 3, 49, 48, 54, 3, 49, 48, 55, 3, 49, 48, 56, 3, 49, 48, 57,
    3, 49, 49, 48, 3, 49, 49, 49, 3, 49, 49, 50, 3, 49, 49, 51, 3, 49, 49, 52,
    3, 49, 49, 53, 3, 49, 49, 54, 3, 49, 49, 55, 3, 49, 49, 56, 3, 49, 49, 57,
    3, 49, 50, 48, 3, 49, 50, 49, 3, 49, 50, 50, 3, 49, 50, 51, 3, 49, 50, 52,
    3, 49, 50, 53, 3, 49, 50, 54, 3, 49, 50, 55, 3, 49, 50, 56, 3, 49, 50, 57,
    3, 49, 51, 48, 3, 49, 51, 49, 3, 49, 51, 50, 3, 49, 51, 51, 3, 49, 51, 52,
    3, 49, 51, 53, 3, 49, 51, 54, 3, 49, 51, 55, 3, 49, 51, 56, 3, 49, 51, 57,
    3, 49, 52, 48, 3, 49, 52, 49, 3, 49, 52, 50, 3, 49, 52, 51, 3, 49, 52, 52,
    3, 49, 52, 53, 3, 49, 52, 54, 3, 49, 52, 55, 3, 49, 52, 56, 3, 49, 52, 57,
    3, 49, 53, 48, 3, 49, 53, 49, 3, 49, 53, 50, 3, 49, 53, 51, 3, 49, 53, 52,
    3, 49, 53, 53, 3, 49, 53, 54, 3, 49, 53, 55, 3, 49, 53, 56, 3, 49, 53, 57,
    3, 49, 54, 48, 3, 49, 54, 49, 3, 49, 54, 50, 3, 49, 54, 51, 3, 49, 54, 52,
    3, 49, 54, 53, 3, 49, 54, 54, 3, 49, 54, 55, 3, 49, 54, 56, 3, 49, 54, 57,
    3, 49, 55, 48, 3, 49, 55, 49, 3, 49, 55, 50, 3, 49, 55, 51, 3, 49, 55, 52,
    3, 49, 55, 53, 3, 49, 55, 54, 3, 49, 55, 55, 3, 49, 55, 56, 3, 49, 55, 57,
    3, 49, 56, 48, 3, 49, 56, 49, 3, 49, 56, 50, 3, 49, 56, 51, 3, 49, 56, 52,
    3, 49, 56, 53, 3, 49, 56, 54, 3, 49, 56, 55, 3, 49, 56, 56, 3, 49, 56, 57,
    3, 49, 57, 48, 3, 49, 57, 49, 3, 49, 57, 50, 3, 49, 57, 51, 3, 49, 57, 52,
    3, 49, 57, 53, 3, 49, 57, 54, 3, 49, 57, 55, 3, 49, 57, 56, 3, 49, 57, 57,
    3, 50, 48, 48, 3, 50, 48, 49, 3, 50, 48, 50, 3, 50, 48, 51, 3, 50, 48, 52,
    3, 50, 48, 53, 3, 50, 48, 54, 3, 50, 48, 55, 3, 50, 48, 56, 3, 50, 48, 57,
    3, 50, 49, 48, 3, 50, 49, 49, 3, 50, 49, 50, 3, 50, 49, 51, 3, 50, 49, 52,
    3, 50, 49, 53, 3, 50, 49, 54, 3, 50, 49, 55, 3, 50, 49, 56, 3, 50, 49, 57,
    3, 50, 50, 48, 3, 50, 50, 49, 3, 50, 50, 50, 3, 50, 50, 51, 3, 50, 50, 52,
    3, 50, 50, 53, 3, 50, 50, 54, 3, 50, 50, 55, 3, 50, 50, 56, 3, 50, 50, 57,
    3, 50, 51, 48, 3, 50, 51, 49, 3, 50, 51, 50, 3, 50, 51, 51, 3, 50, 51, 52,
    3, 50, 51, 53, 3, 50, 51, 54, 3, 50, 51, 55, 3, 50, 51, 56, 3, 50, 51, 57,
    3, 50, 52, 48, 3, 50, 52, 49, 3, 50, 52, 50, 3, 50, 52, 51, 3, 50, 52, 52,
    3, 50, 52, 53, 3, 50, 52, 54, 3, 50, 52, 55, 3, 50, 52, 56, 3, 50, 52, 57,
    3, 50, 53, 48, 3, 50, 53, 49, 3, 50, 53, 50, 3, 50, 53, 51, 3, 50, 53, 52,
    3, 50, 53, 53, 3, 50, 53, 54, 3, 50, 53, 55, 3, 50, 53, 56, 3, 50, 53, 57,
    3, 50, 54, 48, 3, 50, 54, 49, 3, 50, 54, 50, 3, 50, 54, 51, 3, 50, 54, 52,
    3, 50, 54, 53, 3, 50, 54, 54, 3, 50, 54, 55, 3, 50, 54, 56, 3, 50, 54, 57,
    3, 50, 55, 48, 3, 50, 55, 49, 3, 50, 55, 50, 3, 50, 55, 51, 3, 50, 55, 52,
    3, 50, 55, 53, 3, 50, 55, 54, 3, 50, 55, 55, 3, 50, 55, 56, 3, 50, 55, 57,
    3, 50, 56, 48, 3, 50, 56, 49, 3, 50, 56, 50, 3, 50, 56, 51, 3, 50, 56, 52,
    3, 50, 56, 53, 3, 50, 56, 54, 3, 50, 56, 55, 3, 50, 56, 56, 3, 50, 56, 57,
    3, 50, 57, 48, 3, 50, 57, 49, 3, 50, 57, 50, 3, 50, 57, 51, 3, 50, 57, 52,
    3, 50, 57, 53, 3, 50, 57, 54, 3, 50, 57, 55, 3, 50, 57, 56, 3, 50, 57, 57,
    3, 51, 48, 48, 3, 51, 48, 49, 3, 51, 48, 50, 3, 51, 48, 51, 3, 51, 48, 52,
    3, 51, 48, 53, 3, 51, 48, 54, 3, 51, 48, 55, 3, 51, 48, 56, 3, 51, 48, 57,
    3, 51, 49, 48, 3, 51, 49, 49, 3, 51, 49, 50, 3, 51, 49, 51, 3, 51, 49, 52,
    3, 51, 49, 53, 3, 51, 49, 54, 3, 51, 49, 55, 3, 51, 49, 56, 3, 51, 49, 57,
    3, 51, 50, 48, 3, 51, 50, 49, 3, 51, 50, 50, 3, 51, 50, 51, 3, 51, 50, 52,
    3, 51, 50, 53, 3, 51, 50, 54, 3, 51, 50, 55, 3, 51, 50, 56, 3, 51, 50, 57,
    3, 51, 51, 48, 3, 51, 51, 49, 3, 51, 51, 50, 3, 51, 51, 51, 3, 51, 51, 52,
    3, 51, 51, 53, 3, 51, 51, 54, 3, 51, 51, 55, 3, 51, 51, 56, 3, 51, 51, 57,
    3, 51, 52, 48, 3, 51, 52, 49, 3, 51, 52, 50, 3, 51, 52, 51, 3, 51, 52, 52,
    3, 51, 52, 53, 3, 51, 52, 54, 3, 51, 52, 55, 3, 51, 52, 56, 3, 51, 52, 57,
    3, 51, 53, 48, 3, 51, 53, 49, 3, 51, 53, 50, 3, 51, 53, 51, 3, 51, 53, 52,
    3, 51, 53, 53, 3, 51, 53, 54, 3, 51, 53, 55, 3, 51, 53, 56, 3, 51, 53, 57,
    3, 51, 54, 48, 3, 51, 54, 49, 3, 51, 54, 50, 3, 51, 54, 51, 3, 51, 54, 52,
    3, 51, 54, 53, 3, 51, 54, 54, 3, 51, 54, 55, 3, 51, 54, 56, 3, 51, 54, 57,
    3, 51, 55, 48, 3, 51, 55, 49, 3, 51, 55, 50, 3, 51, 55, 51, 3, 51, 55, 52,
    3, 51, 55, 53, 3, 51, 55, 54, 3, 51, 55, 55, 3, 51, 55, 56, 3, 51, 55, 57,
    3, 51, 56, 48, 3, 51, 56, 49, 3, 51, 56, 50, 3, 51, 56, 51, 3, 51, 56, 52,
    3, 51, 56, 53, 3, 51, 56, 54, 3, 51, 56, 55, 3, 51, 56, 56, 3, 51, 56, 57,
    3, 51, 57, 48, 3, 51, 57, 49, 3, 51, 57, 50, 3, 51, 57, 51, 3, 51, 57, 52,
    3, 51, 57, 53, 3, 51, 57, 54, 3, 51, 57, 55, 3, 51, 57, 56, 3, 51, 57, 57,
    3, 52, 48, 48, 3, 52, 48, 49, 3, 52, 48, 50, 3, 52, 48, 51, 3, 52, 48, 52,
    3, 52, 48, 53, 3, 52, 48, 54, 3, 52, 48, 55, 3, 52, 48, 56, 3, 52, 48, 57,
    3, 52, 49, 48, 3, 52, 49, 49, 3, 52, 49, 50, 3, 52, 49, 51, 3, 52, 49, 52,
    3, 52, 49, 53, 3, 52, 49, 54, 3, 52, 49, 55, 3, 52, 49, 56, 3, 52, 49, 57,
    3, 52, 50, 48, 3, 52, 50, 49, 3, 52, 50, 50, 3, 52, 50, 51, 3, 52, 50, 52,
    3, 52, 50, 53, 3, 52, 50, 54, 3, 52, 50, 55, 3, 52, 50, 56, 3, 52, 50, 57,
    3, 52, 51, 48, 3, 52, 51, 49, 3, 52, 51, 50, 3, 52, 51, 51, 3, 52, 51, 52,
    3, 52, 51, 53, 3, 52, 51, 54, 3, 52, 51, 55, 3, 52, 51, 56, 3, 52, 51, 57,
    3, 52, 52, 48, 3, 52, 52, 49, 3, 52, 52, 50, 3, 52, 52, 51, 3, 52, 52, 52,
    3, 52, 52, 53, 3, 52, 52, 54, 3, 52, 52, 55, 3, 52, 52, 56, 3, 52, 52, 57,
    3, 52, 53, 48, 3, 52, 53, 49, 3, 52, 53, 50, 3, 52, 53, 51, 3, 52, 53, 52,
    3, 52, 53, 53, 3, 52, 53, 54, 3, 52, 53, 55, 3, 52, 53, 56, 3, 52, 53, 57,
    3, 52, 54, 48, 3, 52, 54, 49, 3, 52, 54, 50, 3, 52, 54, 51, 3, 52, 54, 52,
    3, 52, 54, 53, 3, 52, 54, 54, 3, 52, 54, 55, 3, 52, 54, 56, 3, 52, 54, 57,
    3, 52, 55, 48, 3, 52, 55, 49, 3, 52, 55, 50, 3, 52, 55, 51, 3, 52, 55, 52,
    3, 52, 55, 53, 3, 52, 55, 54, 3, 52, 55, 55, 3, 52, 55, 56, 3, 52, 55, 57,
    3, 52, 56, 48, 3, 52, 56, 49, 3, 52, 56, 50, 3, 52, 56, 51, 3, 52, 56, 52,
    3, 52, 56, 53, 3, 52, 56, 54, 3, 52, 56, 55, 3, 52, 56, 56, 3, 52, 56, 57,
    3, 52, 57, 48, 3, 52, 57, 49, 3, 52, 57, 50, 3, 52, 57, 51, 3, 52, 57, 52,
    3, 52, 57, 53, 3, 52, 57, 54, 3, 52, 57, 55, 3, 52, 57, 56, 3, 52, 57, 57,
    3, 53, 48, 48};
inline void putints(int X) {
  auto n = c + 4 * X;
  for (auto itr = n + 1; itr != n + *n + 1; itr++) {
    *di++ = *itr;
  }
  *di++ = ' ';
}
inline void putint(int X) {
  auto n = c + 4 * X;
  for (auto itr = n + 1; itr != n + *n + 1; itr++) {
    *di++ = *itr;
  }
  *di++ = '\n';
}

inline void putk(int X) {
  if (X == 0)
    putchar('0');
  int keta = 0;
  char C[10];
  while (X) {
    *(C + keta) = '0' + X % 10;
    X /= 10;
    keta++;
  }
  for (int i = keta - 1; i >= 0; i--)
    putchar(*(C + i));
  putchar('\n');
}

int main() {
  fread(cn, 1, cm, stdin);
  ci = cn;

  int H, W;
  bool a = 0, b = 0;
  H = getint();
  W = getint();
  int k = 0;
  rep1(i, H) {
    rep1(ii, W - 1) {
      a ^= getA();
      if (a) {
        k++;
        putints(i);
        putints(ii);
        putints(i);
        putint(ii + 1);
      }
    }
    if (i != H) {
      b ^= a ^ getA();
      if (b) {
        k++;
        putints(i);
        putints(W);
        putints(i + 1);
        putint(W);
      }
    }
    a = false;
  }

  putk(k);
  fwrite(dn, 1, di - dn, stdout);

  Would you please return 0;
}

Fixed submission:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i, n) for (int i = 0; i < (n); i++)
#define rep1(i, n) for (int i = 1; i <= (n); i++)
#define co(x) cout << (x) << "\n"
#define cosp(x) cout << (x) << " "
#define ce(x) cerr << (x) << "\n"
#define cesp(x) cerr << (x) << " "
#define pb push_back
#define mp make_pair
#define putchar putchar_unlocked
#define Would
#define you
#define please

const int cm = 1 << 19;
char cn[cm], *ci = cn, ct;

inline int getint() {
  int A = 0;
  while ((ct = *ci++) >= '0')
    A = A * 10 + ct - '0';
  return A;
}
inline bool getA() {
  bool A = *ci++ & 1;
  ci++;
  return A;
}

const int dm = 1 << 21;
char dn[dm], *di = dn, dt;
char c[2004] = {
    1, 48, 0,  0,  1, 49, 0,  0,  1, 50, 0,  0,  1, 51, 0,  0,  1, 52, 0,  0,
    1, 53, 0,  0,  1, 54, 0,  0,  1, 55, 0,  0,  1, 56, 0,  0,  1, 57, 0,  0,
    2, 49, 48, 0,  2, 49, 49, 0,  2, 49, 50, 0,  2, 49, 51, 0,  2, 49, 52, 0,
    2, 49, 53, 0,  2, 49, 54, 0,  2, 49, 55, 0,  2, 49, 56, 0,  2, 49, 57, 0,
    2, 50, 48, 0,  2, 50, 49, 0,  2, 50, 50, 0,  2, 50, 51, 0,  2, 50, 52, 0,
    2, 50, 53, 0,  2, 50, 54, 0,  2, 50, 55, 0,  2, 50, 56, 0,  2, 50, 57, 0,
    2, 51, 48, 0,  2, 51, 49, 0,  2, 51, 50, 0,  2, 51, 51, 0,  2, 51, 52, 0,
    2, 51, 53, 0,  2, 51, 54, 0,  2, 51, 55, 0,  2, 51, 56, 0,  2, 51, 57, 0,
    2, 52, 48, 0,  2, 52, 49, 0,  2, 52, 50, 0,  2, 52, 51, 0,  2, 52, 52, 0,
    2, 52, 53, 0,  2, 52, 54, 0,  2, 52, 55, 0,  2, 52, 56, 0,  2, 52, 57, 0,
    2, 53, 48, 0,  2, 53, 49, 0,  2, 53, 50, 0,  2, 53, 51, 0,  2, 53, 52, 0,
    2, 53, 53, 0,  2, 53, 54, 0,  2, 53, 55, 0,  2, 53, 56, 0,  2, 53, 57, 0,
    2, 54, 48, 0,  2, 54, 49, 0,  2, 54, 50, 0,  2, 54, 51, 0,  2, 54, 52, 0,
    2, 54, 53, 0,  2, 54, 54, 0,  2, 54, 55, 0,  2, 54, 56, 0,  2, 54, 57, 0,
    2, 55, 48, 0,  2, 55, 49, 0,  2, 55, 50, 0,  2, 55, 51, 0,  2, 55, 52, 0,
    2, 55, 53, 0,  2, 55, 54, 0,  2, 55, 55, 0,  2, 55, 56, 0,  2, 55, 57, 0,
    2, 56, 48, 0,  2, 56, 49, 0,  2, 56, 50, 0,  2, 56, 51, 0,  2, 56, 52, 0,
    2, 56, 53, 0,  2, 56, 54, 0,  2, 56, 55, 0,  2, 56, 56, 0,  2, 56, 57, 0,
    2, 57, 48, 0,  2, 57, 49, 0,  2, 57, 50, 0,  2, 57, 51, 0,  2, 57, 52, 0,
    2, 57, 53, 0,  2, 57, 54, 0,  2, 57, 55, 0,  2, 57, 56, 0,  2, 57, 57, 0,
    3, 49, 48, 48, 3, 49, 48, 49, 3, 49, 48, 50, 3, 49, 48, 51, 3, 49, 48, 52,
    3, 49, 48, 53, 3, 49, 48, 54, 3, 49, 48, 55, 3, 49, 48, 56, 3, 49, 48, 57,
    3, 49, 49, 48, 3, 49, 49, 49, 3, 49, 49, 50, 3, 49, 49, 51, 3, 49, 49, 52,
    3, 49, 49, 53, 3, 49, 49, 54, 3, 49, 49, 55, 3, 49, 49, 56, 3, 49, 49, 57,
    3, 49, 50, 48, 3, 49, 50, 49, 3, 49, 50, 50, 3, 49, 50, 51, 3, 49, 50, 52,
    3, 49, 50, 53, 3, 49, 50, 54, 3, 49, 50, 55, 3, 49, 50, 56, 3, 49, 50, 57,
    3, 49, 51, 48, 3, 49, 51, 49, 3, 49, 51, 50, 3, 49, 51, 51, 3, 49, 51, 52,
    3, 49, 51, 53, 3, 49, 51, 54, 3, 49, 51, 55, 3, 49, 51, 56, 3, 49, 51, 57,
    3, 49, 52, 48, 3, 49, 52, 49, 3, 49, 52, 50, 3, 49, 52, 51, 3, 49, 52, 52,
    3, 49, 52, 53, 3, 49, 52, 54, 3, 49, 52, 55, 3, 49, 52, 56, 3, 49, 52, 57,
    3, 49, 53, 48, 3, 49, 53, 49, 3, 49, 53, 50, 3, 49, 53, 51, 3, 49, 53, 52,
    3, 49, 53, 53, 3, 49, 53, 54, 3, 49, 53, 55, 3, 49, 53, 56, 3, 49, 53, 57,
    3, 49, 54, 48, 3, 49, 54, 49, 3, 49, 54, 50, 3, 49, 54, 51, 3, 49, 54, 52,
    3, 49, 54, 53, 3, 49, 54, 54, 3, 49, 54, 55, 3, 49, 54, 56, 3, 49, 54, 57,
    3, 49, 55, 48, 3, 49, 55, 49, 3, 49, 55, 50, 3, 49, 55, 51, 3, 49, 55, 52,
    3, 49, 55, 53, 3, 49, 55, 54, 3, 49, 55, 55, 3, 49, 55, 56, 3, 49, 55, 57,
    3, 49, 56, 48, 3, 49, 56, 49, 3, 49, 56, 50, 3, 49, 56, 51, 3, 49, 56, 52,
    3, 49, 56, 53, 3, 49, 56, 54, 3, 49, 56, 55, 3, 49, 56, 56, 3, 49, 56, 57,
    3, 49, 57, 48, 3, 49, 57, 49, 3, 49, 57, 50, 3, 49, 57, 51, 3, 49, 57, 52,
    3, 49, 57, 53, 3, 49, 57, 54, 3, 49, 57, 55, 3, 49, 57, 56, 3, 49, 57, 57,
    3, 50, 48, 48, 3, 50, 48, 49, 3, 50, 48, 50, 3, 50, 48, 51, 3, 50, 48, 52,
    3, 50, 48, 53, 3, 50, 48, 54, 3, 50, 48, 55, 3, 50, 48, 56, 3, 50, 48, 57,
    3, 50, 49, 48, 3, 50, 49, 49, 3, 50, 49, 50, 3, 50, 49, 51, 3, 50, 49, 52,
    3, 50, 49, 53, 3, 50, 49, 54, 3, 50, 49, 55, 3, 50, 49, 56, 3, 50, 49, 57,
    3, 50, 50, 48, 3, 50, 50, 49, 3, 50, 50, 50, 3, 50, 50, 51, 3, 50, 50, 52,
    3, 50, 50, 53, 3, 50, 50, 54, 3, 50, 50, 55, 3, 50, 50, 56, 3, 50, 50, 57,
    3, 50, 51, 48, 3, 50, 51, 49, 3, 50, 51, 50, 3, 50, 51, 51, 3, 50, 51, 52,
    3, 50, 51, 53, 3, 50, 51, 54, 3, 50, 51, 55, 3, 50, 51, 56, 3, 50, 51, 57,
    3, 50, 52, 48, 3, 50, 52, 49, 3, 50, 52, 50, 3, 50, 52, 51, 3, 50, 52, 52,
    3, 50, 52, 53, 3, 50, 52, 54, 3, 50, 52, 55, 3, 50, 52, 56, 3, 50, 52, 57,
    3, 50, 53, 48, 3, 50, 53, 49, 3, 50, 53, 50, 3, 50, 53, 51, 3, 50, 53, 52,
    3, 50, 53, 53, 3, 50, 53, 54, 3, 50, 53, 55, 3, 50, 53, 56, 3, 50, 53, 57,
    3, 50, 54, 48, 3, 50, 54, 49, 3, 50, 54, 50, 3, 50, 54, 51, 3, 50, 54, 52,
    3, 50, 54, 53, 3, 50, 54, 54, 3, 50, 54, 55, 3, 50, 54, 56, 3, 50, 54, 57,
    3, 50, 55, 48, 3, 50, 55, 49, 3, 50, 55, 50, 3, 50, 55, 51, 3, 50, 55, 52,
    3, 50, 55, 53, 3, 50, 55, 54, 3, 50, 55, 55, 3, 50, 55, 56, 3, 50, 55, 57,
    3, 50, 56, 48, 3, 50, 56, 49, 3, 50, 56, 50, 3, 50, 56, 51, 3, 50, 56, 52,
    3, 50, 56, 53, 3, 50, 56, 54, 3, 50, 56, 55, 3, 50, 56, 56, 3, 50, 56, 57,
    3, 50, 57, 48, 3, 50, 57, 49, 3, 50, 57, 50, 3, 50, 57, 51, 3, 50, 57, 52,
    3, 50, 57, 53, 3, 50, 57, 54, 3, 50, 57, 55, 3, 50, 57, 56, 3, 50, 57, 57,
    3, 51, 48, 48, 3, 51, 48, 49, 3, 51, 48, 50, 3, 51, 48, 51, 3, 51, 48, 52,
    3, 51, 48, 53, 3, 51, 48, 54, 3, 51, 48, 55, 3, 51, 48, 56, 3, 51, 48, 57,
    3, 51, 49, 48, 3, 51, 49, 49, 3, 51, 49, 50, 3, 51, 49, 51, 3, 51, 49, 52,
    3, 51, 49, 53, 3, 51, 49, 54, 3, 51, 49, 55, 3, 51, 49, 56, 3, 51, 49, 57,
    3, 51, 50, 48, 3, 51, 50, 49, 3, 51, 50, 50, 3, 51, 50, 51, 3, 51, 50, 52,
    3, 51, 50, 53, 3, 51, 50, 54, 3, 51, 50, 55, 3, 51, 50, 56, 3, 51, 50, 57,
    3, 51, 51, 48, 3, 51, 51, 49, 3, 51, 51, 50, 3, 51, 51, 51, 3, 51, 51, 52,
    3, 51, 51, 53, 3, 51, 51, 54, 3, 51, 51, 55, 3, 51, 51, 56, 3, 51, 51, 57,
    3, 51, 52, 48, 3, 51, 52, 49, 3, 51, 52, 50, 3, 51, 52, 51, 3, 51, 52, 52,
    3, 51, 52, 53, 3, 51, 52, 54, 3, 51, 52, 55, 3, 51, 52, 56, 3, 51, 52, 57,
    3, 51, 53, 48, 3, 51, 53, 49, 3, 51, 53, 50, 3, 51, 53, 51, 3, 51, 53, 52,
    3, 51, 53, 53, 3, 51, 53, 54, 3, 51, 53, 55, 3, 51, 53, 56, 3, 51, 53, 57,
    3, 51, 54, 48, 3, 51, 54, 49, 3, 51, 54, 50, 3, 51, 54, 51, 3, 51, 54, 52,
    3, 51, 54, 53, 3, 51, 54, 54, 3, 51, 54, 55, 3, 51, 54, 56, 3, 51, 54, 57,
    3, 51, 55, 48, 3, 51, 55, 49, 3, 51, 55, 50, 3, 51, 55, 51, 3, 51, 55, 52,
    3, 51, 55, 53, 3, 51, 55, 54, 3, 51, 55, 55, 3, 51, 55, 56, 3, 51, 55, 57,
    3, 51, 56, 48, 3, 51, 56, 49, 3, 51, 56, 50, 3, 51, 56, 51, 3, 51, 56, 52,
    3, 51, 56, 53, 3, 51, 56, 54, 3, 51, 56, 55, 3, 51, 56, 56, 3, 51, 56, 57,
    3, 51, 57, 48, 3, 51, 57, 49, 3, 51, 57, 50, 3, 51, 57, 51, 3, 51, 57, 52,
    3, 51, 57, 53, 3, 51, 57, 54, 3, 51, 57, 55, 3, 51, 57, 56, 3, 51, 57, 57,
    3, 52, 48, 48, 3, 52, 48, 49, 3, 52, 48, 50, 3, 52, 48, 51, 3, 52, 48, 52,
    3, 52, 48, 53, 3, 52, 48, 54, 3, 52, 48, 55, 3, 52, 48, 56, 3, 52, 48, 57,
    3, 52, 49, 48, 3, 52, 49, 49, 3, 52, 49, 50, 3, 52, 49, 51, 3, 52, 49, 52,
    3, 52, 49, 53, 3, 52, 49, 54, 3, 52, 49, 55, 3, 52, 49, 56, 3, 52, 49, 57,
    3, 52, 50, 48, 3, 52, 50, 49, 3, 52, 50, 50, 3, 52, 50, 51, 3, 52, 50, 52,
    3, 52, 50, 53, 3, 52, 50, 54, 3, 52, 50, 55, 3, 52, 50, 56, 3, 52, 50, 57,
    3, 52, 51, 48, 3, 52, 51, 49, 3, 52, 51, 50, 3, 52, 51, 51, 3, 52, 51, 52,
    3, 52, 51, 53, 3, 52, 51, 54, 3, 52, 51, 55, 3, 52, 51, 56, 3, 52, 51, 57,
    3, 52, 52, 48, 3, 52, 52, 49, 3, 52, 52, 50, 3, 52, 52, 51, 3, 52, 52, 52,
    3, 52, 52, 53, 3, 52, 52, 54, 3, 52, 52, 55, 3, 52, 52, 56, 3, 52, 52, 57,
    3, 52, 53, 48, 3, 52, 53, 49, 3, 52, 53, 50, 3, 52, 53, 51, 3, 52, 53, 52,
    3, 52, 53, 53, 3, 52, 53, 54, 3, 52, 53, 55, 3, 52, 53, 56, 3, 52, 53, 57,
    3, 52, 54, 48, 3, 52, 54, 49, 3, 52, 54, 50, 3, 52, 54, 51, 3, 52, 54, 52,
    3, 52, 54, 53, 3, 52, 54, 54, 3, 52, 54, 55, 3, 52, 54, 56, 3, 52, 54, 57,
    3, 52, 55, 48, 3, 52, 55, 49, 3, 52, 55, 50, 3, 52, 55, 51, 3, 52, 55, 52,
    3, 52, 55, 53, 3, 52, 55, 54, 3, 52, 55, 55, 3, 52, 55, 56, 3, 52, 55, 57,
    3, 52, 56, 48, 3, 52, 56, 49, 3, 52, 56, 50, 3, 52, 56, 51, 3, 52, 56, 52,
    3, 52, 56, 53, 3, 52, 56, 54, 3, 52, 56, 55, 3, 52, 56, 56, 3, 52, 56, 57,
    3, 52, 57, 48, 3, 52, 57, 49, 3, 52, 57, 50, 3, 52, 57, 51, 3, 52, 57, 52,
    3, 52, 57, 53, 3, 52, 57, 54, 3, 52, 57, 55, 3, 52, 57, 56, 3, 52, 57, 57,
    3, 53, 48, 48};
inline void putints(int X) {
  auto n = c + 4 * X;
  for (auto itr = n + 1; itr != n + *n + 1; itr++) {
    *di++ = *itr;
  }
  *di++ = ' ';
}
inline void putint(int X) {
  auto n = c + 4 * X;
  for (auto itr = n + 1; itr != n + *n + 1; itr++) {
    *di++ = *itr;
  }
  *di++ = '\n';
}

inline void putk(int X) {
  if (X == 0)
    putchar('0');
  int keta = 0;
  char C[10];
  while (X) {
    *(C + keta) = '0' + X % 10;
    X /= 10;
    keta++;
  }
  for (int i = keta - 1; i >= 0; i--)
    putchar(*(C + i));
  putchar('\n');
}

int main() {
  fread(cn, 1, cm, stdin);
  ci = cn;

  int H, W;
  bool a = 0, b = 0;
  H = getint();
  W = getint();
  int k = 0;
  rep1(i, H) {
    rep1(ii, W - 1) {
      a ^= getA();
      if (a) {
        k++;
        putints(i);
        putints(ii);
        putints(i);
        putint(ii + 1);
      }
    }
    if (i != H) {
      b ^= a ^ getA();
      if (b) {
        k++;
        putints(i);
        putints(W);
        putints(i + 1);
        putint(W);
      }
    }
    a = false;
  }

  putk(k);
  fwrite(dn, 1, di - dn, stdout);

  Would you please return 0;
}