#include <bits/stdc++.h>
using namespace std;
struct arr {
  int x, y;
  long long w;
} f[1007 * 1007];
struct ar {
  int x, y;
  long long w;
} ans[1007 * 1007];
long long l[1007][1007], h[1007][1007], s[1007][1007], sum[1007][1007];
int n, m, a, b, tot, tans, q[1007], w[1007];
bool p[1007][1007];
bool cmp(arr x, arr y) {
  if (x.w == y.w && x.x == y.x)
    return x.y < y.y;
  else if (x.w == y.w)
    return x.x < y.x;
  else
    return x.w < y.w;
}
bool pd(int x, int y) {
  if (x > 0 && y > 0 && x <= n && y <= m) return true;
  return false;
}
int main() {
  scanf("%d%d%d%d", &n, &m, &a, &b);
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++) {
      scanf("%lld", &s[i][j]);
      sum[i][j] = sum[i - 1][j] + sum[i][j - 1] - sum[i - 1][j - 1] + s[i][j];
    }
  for (int i = 1; i <= n; i++) {
    int head = 1, tail = 0;
    for (int j = m; j >= 1; j--) {
      while (tail >= head && q[tail] >= s[i][j]) tail--;
      q[++tail] = s[i][j];
      w[tail] = j;
      while (w[head] > j + b - 1) head++;
      l[i][j] = q[head];
    }
  }
  for (int i = 1; i <= m; i++) {
    int head = 1, tail = 0;
    for (int j = n; j >= 1; j--) {
      while (tail >= head && q[tail] >= l[j][i]) tail--;
      q[++tail] = l[j][i];
      w[tail] = j;
      while (w[head] > j + a - 1) head++;
      h[j][i] = q[head];
    }
  }
  for (int i = 1; i <= n - a + 1; i++)
    for (int j = 1; j <= m - b + 1; j++)
      f[++tot].x = i, f[tot].y = j,
      f[tot].w = sum[i + a - 1][j + b - 1] + sum[i - 1][j - 1] -
                 sum[i - 1][j + b - 1] - sum[i + a - 1][j - 1] -
                 h[i][j] * a * b;
  sort(f + 1, f + tot + 1, cmp);
  for (int i = 1; i <= tot; i++)
    if (!p[f[i].x][f[i].y] && pd(f[i].x + a - 1, f[i].y + b - 1)) {
      ans[++tans].x = f[i].x, ans[tans].y = f[i].y, ans[tans].w = f[i].w;
      for (int j = f[i].x - a + 1; j <= f[i].x + a - 1; j++)
        for (int k = f[i].y - b + 1; k <= f[i].y + b - 1; k++)
          if (pd(j, k)) p[j][k] = true;
    }
  printf("%d\n", tans);
  for (int i = 1; i <= tans; i++)
    printf("%d %d %lld\n", ans[i].x, ans[i].y, ans[i].w);
}
