#include <bits/stdc++.h>
using namespace std;
const int maxn = 1000 + 10, inf = 1e9 + 10;
int x[3], y[3], ans = inf;
vector<pair<int, int> > v;
pair<int, int> p;
int dis(int i, int j, int o) { return abs(i - x[o]) + abs(j - y[o]); }
void add(int i, int j, int o) {
  if (make_pair(i, j) != p) v.push_back({i, j});
  if (i < x[o]) {
    add(i + 1, j, o);
    return;
  }
  if (i > x[o]) {
    add(i - 1, j, o);
    return;
  }
  if (j < y[o]) {
    add(i, j + 1, o);
    return;
  }
  if (j > y[o]) {
    add(i, j - 1, o);
    return;
  }
}
int32_t main() {
  for (int i = 0; i < 3; i++) {
    cin >> x[i] >> y[i];
  }
  for (int i = 0; i < maxn; i++) {
    for (int j = 0; j < maxn; j++) {
      if (ans > dis(i, j, 0) + dis(i, j, 1) + dis(i, j, 2) + 1) {
        p = {i, j};
        ans = min(ans, dis(i, j, 0) + dis(i, j, 1) + dis(i, j, 2) + 1);
      }
    }
  }
  v.push_back(p);
  add(p.first, p.second, 0);
  add(p.first, p.second, 1);
  add(p.first, p.second, 2);
  cout << ans << endl;
  for (pair<int, int> po : v) {
    cout << po.first << ' ' << po.second << endl;
  }
}
