#include <bits/stdc++.h>
using namespace std;
long long int max(long long int a, long long int b) {
  if (a > b)
    return a;
  else
    return b;
}
void solve() {
  vector<pair<int, int> > points;
  vector<int> xval, yval;
  for (int i = 0; i < 3; i++) {
    int x, y;
    cin >> x >> y;
    points.push_back({x, y});
    xval.push_back(x);
    yval.push_back(y);
  }
  sort(xval.begin(), xval.end());
  sort(yval.begin(), yval.end());
  pair<int, int> med = {xval[1], yval[1]};
  set<pair<int, int> > ans;
  for (int i = 0; i < 3; i++) {
    int x = points[i].first;
    int y = points[i].second;
    ans.insert({x, y});
    if (x >= med.first) {
      while (x != med.first) {
        ans.insert({--x, y});
      }
    } else {
      while (x != med.first) {
        ans.insert({++x, y});
      }
    }
    if (y >= med.second) {
      while (y != med.second) {
        ans.insert({x, --y});
      }
    } else {
      while (y != med.second) {
        ans.insert({x, ++y});
      }
    }
  }
  cout << ans.size() << endl;
  for (auto c : ans) {
    cout << c.first << " " << c.second << endl;
  }
}
int main() { solve(); }
