#include <bits/stdc++.h>
using namespace std;
const long long INFll = 1ll * 1000000009 * 1000000009;
int dist(int x1, int y1, int x2, int y2) { return abs(x2 - x1) + abs(y2 - y1); }
set<pair<int, int> > calc(int x, int y, int x1, int y1, int x2, int y2, int x3,
                          int y3) {
  set<pair<int, int> > ans;
  int currx = x, curry = y;
  while (currx != x1) {
    ans.insert({currx, curry});
    if (x1 > currx)
      currx++;
    else
      currx--;
  }
  while (curry != y1) {
    ans.insert({currx, curry});
    if (y1 > curry)
      curry++;
    else
      curry--;
  }
  currx = x, curry = y;
  while (currx != x2) {
    ans.insert({currx, curry});
    if (x2 > currx)
      currx++;
    else
      currx--;
  }
  while (curry != y2) {
    ans.insert({currx, curry});
    if (y2 > curry)
      curry++;
    else
      curry--;
  }
  currx = x, curry = y;
  while (currx != x3) {
    ans.insert({currx, curry});
    if (x3 > currx)
      currx++;
    else
      currx--;
  }
  while (curry != y3) {
    ans.insert({currx, curry});
    if (y3 > curry)
      curry++;
    else
      curry--;
  }
  ans.insert({x1, y1});
  ans.insert({x2, y2});
  ans.insert({x3, y3});
  return ans;
}
int main() {
  int xa, ya, xb, yb, xc, yc;
  set<pair<int, int> > res;
  cin >> xa >> ya >> xb >> yb >> xc >> yc;
  int x, y, mx = 1000000009;
  for (int i = 0; i <= 1000; i++)
    for (int j = 0; j <= 1000; j++) {
      int temp = dist(i, j, xa, ya) + dist(i, j, xb, yb) + dist(i, j, xc, yc);
      if (temp < mx) {
        mx = temp;
        x = i;
        y = j;
      }
    }
  res = calc(x, y, xa, ya, xb, yb, xc, yc);
  cout << res.size() << endl;
  for (auto it = res.begin(); it != res.end(); ++it)
    cout << it->first << ' ' << it->second << endl;
  cout << endl;
  ;
}
