#include <bits/stdc++.h>
using namespace std;
set<pair<int, int> > R;
int dist(pair<int, int> A, pair<int, int> B) {
  return abs(A.first - B.first) + abs(A.second - B.second);
}
void make(pair<int, int> T, pair<int, int> A) {
  while (T.first < A.first) {
    R.insert(T);
    T.first++;
  }
  while (T.first > A.first) {
    R.insert(T);
    T.first--;
  }
  while (T.second > A.second) {
    R.insert(T);
    T.second--;
  }
  while (T.second < A.second) {
    R.insert(T);
    T.second++;
  }
  R.insert(A);
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  pair<int, int> A, B, C;
  cin >> A.first >> A.second >> B.first >> B.second >> C.first >> C.second;
  int cdist = 1e9 + 1;
  pair<int, int> D;
  for (int i = 0; i < 1001; i++) {
    for (int j = 0; j < 1001; j++) {
      if (dist(A, {i, j}) + dist(B, {i, j}) + dist(C, {i, j}) < cdist) {
        cdist = dist(A, {i, j}) + dist(B, {i, j}) + dist(C, {i, j});
        D.first = i;
        D.second = j;
      }
    }
  }
  make(D, {A.first, A.second});
  make(D, {B.first, B.second});
  make(D, {C.first, C.second});
  cout << R.size() << endl;
  for (set<pair<int, int> >::iterator it = R.begin(); it != R.end(); it++) {
    cout << it->first << " " << it->second << endl;
  }
  return 0;
}
