#include <bits/stdc++.h>
using namespace std;
long long int dist(pair<long long int, long long int> a,
                   pair<long long int, long long int> b) {
  return abs(a.first - b.first) + abs(a.second - b.second);
}
void putPoints(pair<long long int, long long int> a,
               pair<long long int, long long int> b,
               set<pair<long long int, long long int> > &sol) {
  long long int dx, dy;
  if (a.first < b.first)
    dx = 1;
  else
    dx = -1;
  if (a.second < b.second)
    dy = 1;
  else
    dy = -1;
  pair<long long int, long long int> curr = {a.first, a.second};
  while (curr.first != b.first) {
    sol.insert({curr.first, curr.second});
    curr.first += dx;
  }
  sol.insert({curr.first, curr.second});
  while (curr.second != b.second) {
    sol.insert({curr.first, curr.second});
    curr.second += dy;
  }
  sol.insert({curr.first, curr.second});
}
void solve() {
  pair<long long int, long long int> pt[3];
  long long int minx = 1e9, maxx = -1e9, miny = 1e9, maxy = -1e9;
  for (__typeof(3) i = (0) - ((0) > (3)); i != (3) - ((0) > (3));
       i += 1 - 2 * ((0) > (3))) {
    cin >> pt[i].first >> pt[i].second;
    minx = min(minx, pt[i].first);
    miny = min(miny, pt[i].second);
    maxx = max(maxx, pt[i].first);
    maxy = max(maxy, pt[i].second);
  }
  long long int ans = 1e9;
  set<pair<long long int, long long int> > sol;
  pair<long long int, long long int> miniPt;
  for (long long int i = minx; i <= maxx; i++) {
    for (long long int j = miny; j <= maxy; j++) {
      pair<long long int, long long int> temp = {i, j};
      if (dist(temp, pt[0]) + dist(temp, pt[1]) != dist(pt[1], pt[0])) continue;
      if (dist(temp, pt[0]) + dist(temp, pt[2]) != dist(pt[2], pt[0])) continue;
      if (dist(temp, pt[1]) + dist(temp, pt[2]) != dist(pt[1], pt[2])) continue;
      long long int loc =
          dist(temp, pt[0]) + dist(temp, pt[1]) + dist(temp, pt[2]) + 1;
      if (loc < ans) {
        ans = loc;
        miniPt = temp;
      }
    }
  }
  sol.clear();
  putPoints(miniPt, pt[0], sol);
  putPoints(miniPt, pt[1], sol);
  putPoints(miniPt, pt[2], sol);
  cout << ans << endl;
  for (auto p : sol) {
    cout << p.first << " " << p.second << endl;
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int t;
  t = 1;
  while (t--) {
    solve();
  }
}
