#include <bits/stdc++.h>
using namespace std;
long long int mod = 1e9 + 7;
long long int inf = 1e9 + 7;
void solve() {
  vector<pair<long long int, long long int> > v(3);
  long long int i;
  for (i = 0; i < 3; i++) {
    cin >> v[i].first >> v[i].second;
  }
  sort(v.begin(), v.end());
  vector<pair<long long int, long long int> > ans;
  map<pair<long long int, long long int>, long long int> mp;
  for (i = v[0].first; i < v[1].first; i++) {
    if (mp[{i, v[0].second}] == 0) {
      ans.push_back({i, v[0].second});
      mp[{i, v[0].second}] = 1;
    }
  }
  for (i = min(v[0].second, v[1].second); i <= max(v[1].second, v[0].second);
       i++) {
    if (mp[{v[1].first, i}] == 0) {
      mp[{v[1].first, i}] = 1;
      ans.push_back({v[1].first, i});
    }
  }
  long long int last = 0;
  if (v[2].second <= max(v[1].second, v[0].second) &&
      v[2].second >= min(v[0].second, v[1].second)) {
    last = v[2].second;
  } else if (abs(v[2].second - v[1].second) < abs(v[2].second - v[0].second)) {
    last = v[1].second;
  } else {
    last = v[0].second;
  }
  for (i = v[1].first; i <= v[2].first; i++) {
    if (mp[{i, last}] == 0) {
      mp[{i, last}] = 1;
      ans.push_back({i, last});
    }
  }
  for (i = min(last, v[2].second); i <= max(last, v[2].second); i++) {
    if (mp[{v[2].first, i}] == 0) {
      mp[{v[2].first, i}] = 1;
      ans.push_back({v[2].first, i});
    }
  }
  cout << ans.size() << '\n';
  ;
  for (i = 0; i < ans.size(); i++) {
    cout << ans[i].first << " " << ans[i].second << '\n';
    ;
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int t = 1;
  while (t--) {
    solve();
  }
}
