#include <bits/stdc++.h>
using namespace std;
const int NN = 1e6 + 7;
const int N = 1e6 + 7;
const int M = 33;
const int mod = 1e9 + 7;
const long long inf = 1e18 + 7;
void solve1() {
  vector<pair<int, int> > v(3);
  for (int i = 0; i < 3; i++) {
    cin >> v[i].first >> v[i].second;
  }
  sort(v.begin(), v.end());
  int x = v[1].first - v[0].first;
  int y = v[0].second - v[1].second;
  int xx = v[2].first - v[1].first;
  int yy = v[2].second - v[1].second;
  vector<pair<int, int> > ans = v;
  for (int i = 1; i <= x; i++) {
    ans.push_back({v[0].first + i, v[0].second});
  }
  for (int i = 1; i <= xx; i++) {
    ans.push_back({v[2].first - i, v[2].second});
  }
  v[2].first = v[0].first = v[1].first;
  if (yy < 0) {
    yy = abs(yy);
    for (int i = 1; i <= yy; i++) {
      ans.push_back({v[2].first, v[2].second + i});
    }
  } else {
    for (int i = 1; i <= yy; i++) {
      ans.push_back({v[2].first, v[2].second - i});
    }
  }
  if (y < 0) {
    y = abs(y);
    for (int i = 1; i <= y; i++) {
      ans.push_back({v[0].first, v[0].second + i});
    }
  } else {
    for (int i = 1; i <= y; i++) {
      ans.push_back({v[0].first, v[0].second - i});
    }
  }
  sort(ans.begin(), ans.end());
  ans.erase(unique(ans.begin(), ans.end()), ans.end());
  cout << (int)ans.size() << "\n";
  for (auto x : ans) {
    cout << x.first << " " << x.second << "\n";
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  srand(time(0));
  int cghf = 1;
  while (cghf--) {
    solve1();
  }
}
