#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  cin >> n >> m;
  if (n == 1 && m > 2) {
    puts("1");
    printf("1 %d 1 1\n", m);
    for (int i = 1; i <= m; i++) {
      printf("1 %d\n", i);
    }
    printf("1 1");
    return 0;
  }
  if (m == 1 && n > 2) {
    puts("1");
    printf("%d 1 1 1\n", n);
    for (int i = 1; i <= n; i++) {
      printf("%d 1\n", i);
    }
    printf("1 1");
    return 0;
  }
  if (n * m % 2 == 0) {
    puts("0");
    puts("1 1");
    if (n % 2 == 0) {
      for (int i = 1; i <= n; i++) {
        if (i % 2) {
          for (int j = 2; j <= m; j++) {
            printf("%d %d\n", i, j);
          }
        } else {
          for (int j = m; j >= 2; j--) {
            printf("%d %d\n", i, j);
          }
        }
      }
      for (int i = n; i >= 1; i--) {
        printf("%d 1\n", i);
      }
    } else {
      for (int j = 1; j <= m; j++) {
        if (j % 2) {
          for (int i = 2; i <= n; i++) {
            printf("%d %d\n", i, j);
          }
        } else {
          for (int i = n; i >= 2; i--) {
            printf("%d %d\n", i, j);
          }
        }
      }
      for (int i = m; i >= 1; i--) {
        printf("1 %d\n", i);
      }
    }
  } else {
    puts("1");
    printf("%d %d 1 1\n", n, m);
    for (int i = 1; i <= n; i++) {
      if (i % 2) {
        for (int j = 1; j <= m; j++) {
          printf("%d %d\n", i, j);
        }
      } else {
        for (int j = m; j >= 1; j--) {
          printf("%d %d\n", i, j);
        }
      }
    }
    printf("1 1");
  }
  return 0;
}
