#include <bits/stdc++.h>
#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops")
using namespace std;
pair<int, int> x[3];
bool l[1100][1100];
int main() {
  cin >> x[0].first >> x[0].second >> x[1].first >> x[1].second >> x[2].first >>
      x[2].second;
  sort(x, x + 3);
  cout << x[2].first - x[0].first +
              max(x[0].second, max(x[1].second, x[2].second)) -
              min(x[0].second, min(x[1].second, x[2].second)) + 1
       << endl;
  while (x[0].first < x[1].first) {
    cout << x[0].first << " " << x[0].second << endl;
    l[x[0].first][x[0].second] = 1;
    x[0].first++;
  }
  while (x[0].second < x[1].second) {
    cout << x[0].first << " " << x[0].second << endl;
    l[x[0].first][x[0].second] = 1;
    x[0].second++;
  }
  while (x[0].second > x[1].second) {
    cout << x[0].first << " " << x[0].second << endl;
    l[x[0].first][x[0].second] = 1;
    x[0].second--;
  }
  while (x[2].first > x[1].first) {
    if (!l[x[2].first][x[2].second]) {
      cout << x[2].first << " " << x[2].second << endl;
      l[x[2].first][x[2].second] = 1;
    }
    x[2].first--;
  }
  while (x[2].second < x[1].second) {
    if (!l[x[2].first][x[2].second]) {
      cout << x[2].first << " " << x[2].second << endl;
      l[x[2].first][x[2].second] = 1;
    }
    x[2].second++;
  }
  while (x[2].second > x[1].second) {
    if (!l[x[2].first][x[2].second]) {
      cout << x[2].first << " " << x[2].second << endl;
      l[x[2].first][x[2].second] = 1;
    }
    x[2].second--;
  }
  if (!l[x[1].first][x[1].second])
    cout << x[1].first << " " << x[1].second << endl;
}
