#include <bits/stdc++.h>
using namespace std;
signed main() {
  long long ax, ay, bx, by, cx, cy;
  cin >> ax >> ay >> bx >> by >> cx >> cy;
  long long minx = min(min(ax, bx), cx), maxx = max(max(ax, bx), cx),
            miny = min(min(ay, by), cy), maxy = max(max(ay, by), cy);
  if (ax == bx && ax == cx) {
    cout << maxy - miny + 1 << "\n";
    for (long long i = miny; i <= maxy; i++) cout << ax << " " << i << "\n";
    return 0;
  }
  if (ay == by && ay == cy) {
    cout << maxx - minx + 1 << "\n";
    for (long long i = minx; i <= maxx; i++) cout << i << " " << ay << "\n";
    return 0;
  }
  cout << maxy - miny + maxx - minx + 1 << "\n";
  vector<pair<long long, long long> > d(3);
  d[0].first = ax;
  d[0].second = ay;
  d[1].first = bx;
  d[1].second = by;
  d[2].first = cx;
  d[2].second = cy;
  sort(d.begin(), d.end());
  long long i, j;
  for (i = d[0].first; i <= d[1].first; i++)
    cout << i << " " << d[0].second << "\n";
  if (d[1].second > d[0].second)
    for (j = d[0].second + 1; j <= d[1].second; j++)
      cout << d[1].first << " " << j << "\n";
  else
    for (j = d[0].second - 1; j >= d[1].second; j--)
      cout << d[1].first << " " << j << "\n";
  if (d[2].second >= min(d[1].second, d[0].second) &&
      d[2].second <= max(d[1].second, d[0].second))
    for (j = d[1].first + 1; j <= d[2].first; j++)
      cout << j << " " << d[2].second << "\n";
  else {
    if (d[2].second > max(d[1].second, d[0].second)) {
      for (i = max(d[1].second, d[0].second) + 1; i <= d[2].second; i++)
        cout << d[1].first << " " << i << "\n";
    } else
      for (i = min(d[1].second, d[0].second) - 1; i >= d[2].second; i--)
        cout << d[1].first << " " << i << "\n";
    for (j = d[1].first + 1; j <= d[2].first; j++)
      cout << j << " " << d[2].second << "\n";
  }
  return 0;
}
