#include <bits/stdc++.h>
using namespace std;
const long long int N = 1e3 + 10;
const long long int INF = 2e9;
long long int n, cnt1;
void solve() {
  long long int x1, y1, x2, y2, x3, y3;
  cin >> x1 >> y1;
  cin >> x2 >> y2;
  cin >> x3 >> y3;
  vector<pair<long long int, long long int> > vp;
  vp.push_back({x1, y1});
  vp.push_back({x2, y2});
  vp.push_back({x3, y3});
  sort(vp.begin(), vp.end());
  x1 = vp[0].first;
  y1 = vp[0].second;
  x2 = vp[1].first;
  y2 = vp[1].second;
  x3 = vp[2].first;
  y3 = vp[2].second;
  while (x1 < x2) {
    pair<long long int, long long int> p = {x1, y1};
    if (find(vp.begin(), vp.end(), p) == vp.end()) vp.push_back({x1, y1});
    x1++;
  }
  while (x2 < x3) {
    pair<long long int, long long int> p = {x3, y3};
    if (find(vp.begin(), vp.end(), p) == vp.end()) vp.push_back({x3, y3});
    x3--;
  }
  while (y1 < y2) {
    pair<long long int, long long int> p = {x1, y1};
    if (find(vp.begin(), vp.end(), p) == vp.end()) vp.push_back({x1, y1});
    y1++;
  }
  while (y1 > y2) {
    pair<long long int, long long int> p = {x1, y1};
    if (find(vp.begin(), vp.end(), p) == vp.end()) vp.push_back({x1, y1});
    y1--;
  }
  while (y2 < y3) {
    pair<long long int, long long int> p = {x3, y3};
    if (find(vp.begin(), vp.end(), p) == vp.end()) vp.push_back({x3, y3});
    y3--;
  }
  while (y2 > y3) {
    pair<long long int, long long int> p = {x3, y3};
    if (find(vp.begin(), vp.end(), p) == vp.end()) vp.push_back({x3, y3});
    y3++;
  }
  sort(vp.begin(), vp.end());
  cout << vp.size() << "\n";
  for (auto it : vp) cout << it.first << " " << it.second << "\n";
}
int32_t main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  long long int t = 1;
  while (t--) solve();
  return 0;
}
