#include <bits/stdc++.h>
using namespace std;
struct _IO {
  _IO() {
    ios::sync_with_stdio(0);
    cin.tie(0);
  }
} _io;
void uni(vector<int> &v) {
  sort(v.begin(), v.end());
  v.erase(unique(v.begin(), v.end()), v.end());
}
long double rd() {
  long double x;
  cin >> x;
  return x;
}
long long ri() {
  long long x;
  cin >> x;
  return x;
}
string rs() {
  string s;
  cin >> s;
  return s;
}
pair<int, int> rpi() {
  pair<int, int> x;
  cin >> x.first >> x.second;
  return x;
}
vector<int> rvi(int n, int f = 0) {
  vector<int> v(n + f);
  for (int i = f; i < v.size(); i++) cin >> v[i];
  return v;
}
vector<vector<int> > rvii(int n, int m, int f = 0) {
  vector<vector<int> > v(n + f, vector<int>(n + f));
  for (int i = f; i < v.size(); i++)
    for (int j = f; j < v[0].size(); j++) cin >> v[i][j];
  return v;
}
void pr(){};
template <class T, class... U>
void pr(T x, U... y) {
  cout << x << ' ', pr(y...);
}
void prl() { cout << '\n'; };
template <class T, class... U>
void prl(T x, U... y) {
  cout << x << ' ', prl(y...);
}
void pr(const vector<int> &v, int f = 0) {
  for (int i = f; i < v.size(); i++) cout << v[i] << ' ';
}
void prl(const vector<int> &v, int f = 0) {
  pr(v, f);
  cout << '\n';
}
void pr(const pair<int, int> &x) { cout << x.first << ' ' << x.second; };
void prl(const pair<int, int> &x) {
  pr(x);
  cout << '\n';
}
const int N = 2e5 + 5, M = 1e9 + 7;
int main() {
  vector<pair<int, int> > vp(3);
  for (int i = 0; i < 3; i++) vp[i] = rpi();
  sort(vp.begin(), vp.end());
  int l = vp[0].first, r = vp[2].first;
  for (int i = 0; i < 3; i++) swap(vp[i].first, vp[i].second);
  sort(vp.begin(), vp.end());
  prl(r - l + 1 + vp[2].first - vp[0].first);
  for (int i = l; i < r + 1; i++) prl(i, vp[1].first);
  for (int i = vp[0].first; i < vp[1].first; i++) prl(vp[0].second, i);
  for (int i = vp[1].first + 1; i < vp[2].first + 1; i++) prl(vp[2].second, i);
}
