#include <bits/stdc++.h>
using namespace std;
int f(int xa, int ya, int xb, int yb, int xc, int yc, int xt, int yt) {
  return 1 + abs(xa - xt) + abs(xb - xt) + abs(xc - xt) + abs(ya - yt) +
         abs(yb - yt) + abs(yc - yt);
}
bool sorting(pair<int, int> a, pair<int, int> b) { return a.second < b.second; }
int main() {
  int xa, ya, xb, yb, xc, yc, xt, yt;
  cin >> xa >> ya >> xb >> yb >> xc >> yc;
  set<pair<int, int> > v;
  vector<pair<int, int> > c;
  c.push_back(make_pair(xa, ya));
  c.push_back(make_pair(xb, yb));
  c.push_back(make_pair(xc, yc));
  sort(c.begin(), c.end());
  xt = c[1].first;
  for (int i = c[0].first; i <= xt; i++) {
    v.insert(make_pair(i, c[0].second));
  }
  for (int i = c[2].first; i >= xt; i--) {
    v.insert(make_pair(i, c[2].second));
  }
  sort(c.begin(), c.end(), sorting);
  yt = c[1].second;
  for (int i = c[0].second; i <= yt; i++) {
    v.insert(make_pair(xt, i));
  }
  for (int i = c[2].second; i >= yt; i--) {
    v.insert(make_pair(xt, i));
  }
  cout << v.size() << '\n';
  for (set<pair<int, int> >::iterator it = v.begin(); it != v.end(); it++) {
    cout << it->first << " " << it->second << '\n';
  }
}
