#include <bits/stdc++.h>
using namespace std;
template <class T>
inline void read(T &k) {
  k = 0;
  int flag = 1;
  char c = getchar();
  while (c < '0' || c > '9') {
    if (c == '-') flag = -1;
    c = getchar();
  }
  while (c >= '0' && c <= '9') {
    k = k * 10 + c - '0';
    c = getchar();
  }
  k *= flag;
}
const int N = 100005;
int n, m, k, s, t, ans, x, y;
int a[4][2];
int f[1005][1005];
int calc(int x, int y) {
  int ans = 0;
  for (int i = 1; i <= 3; ++i) {
    ans += abs(x - a[i][0]) + abs(y - a[i][1]);
  }
  return ans;
}
void print(int x, int y) {
  for (int o = 1; o <= 3; ++o) {
    int x1 = min(x, a[o][0]);
    int x2 = max(x, a[o][0]);
    int y1 = min(y, a[o][1]);
    int y2 = max(y, a[o][1]);
    for (int i = x1; i <= x2; ++i)
      if (!f[i][y1]) {
        cout << i << ' ' << y1 << endl;
        f[i][y1] = 1;
      }
    if ((x1 == x && y1 == y) || (x2 == x && y2 == y)) {
      for (int i = y1; i <= y2; ++i)
        if (!f[x2][i]) {
          cout << x2 << ' ' << i << endl;
          f[x2][i] = 1;
        }
    } else {
      for (int i = y1; i <= y2; ++i)
        if (!f[x1][i]) {
          cout << x1 << ' ' << i << endl;
          f[x1][i] = 1;
        }
    }
  }
}
int main() {
  for (int i = 1; i <= 3; ++i) cin >> a[i][0] >> a[i][1];
  ans = 0x3f3f3f3f;
  for (int i = 0; i <= 1000; ++i)
    for (int j = 0; j <= 1000; ++j) {
      k = calc(i, j);
      if (k < ans) {
        ans = k;
        x = i;
        y = j;
      }
    }
  cout << ans + 1 << endl;
  f[x][y] = 1;
  cout << x << ' ' << y << endl;
  print(x, y);
}
