#include <bits/stdc++.h>
using namespace std;
void solve() {
  vector<pair<long long, long long>> ar(4);
  for (long long i = 1; i <= 3; i++) {
    long long a, b;
    cin >> a >> b;
    ar[i] = {a, b};
  }
  sort(ar.begin() + 1, ar.end());
  set<pair<long long, long long>> ans;
  for (long long i = ar[1].first; i <= ar[2].first; i++) {
    ans.insert({i, ar[1].second});
  }
  long long dy = 1;
  if (ar[2].second < ar[1].second) dy = -1;
  for (long long i = ar[1].second; i != ar[2].second; i += dy) {
    ans.insert({ar[2].first, i});
  }
  ans.insert({ar[2].first, ar[2].second});
  long long low = ar[1].second, high = ar[2].second;
  long long temp = min(high, low);
  high = max(high, low);
  low = temp;
  if (ar[3].second >= low && ar[3].second <= high) {
    for (long long i = ar[3].first; i >= ar[2].first; i--) {
      ans.insert({i, ar[3].second});
    }
  } else if (ar[3].second > high) {
    for (long long i = ar[3].first; i >= ar[2].first; i--) {
      ans.insert({i, ar[3].second});
    }
    for (long long i = ar[3].second; i > high; i--) {
      ans.insert({ar[2].first, i});
    }
  } else {
    for (long long i = ar[3].first; i >= ar[2].first; i--) {
      ans.insert({i, ar[3].second});
    }
    for (long long i = ar[3].second; i < low; i++) {
      ans.insert({ar[2].first, i});
    }
  }
  cout << signed(ans.size()) << "\n";
  for (auto i : ans) cout << i.first << " " << i.second << "\n";
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  long long t = 1;
  while (t--) solve();
  return 0;
}
