#include <bits/stdc++.h>
using namespace std;
set<pair<int, int>> answer;
void connectH(int x1, int x2, int y) {
  if (x1 > x2) {
    swap(x1, x2);
  }
  for (int i = x1; i <= x2; ++i) {
    answer.emplace(i, y);
  }
}
void connectV(int x1, int x2, int y) {
  if (x1 > x2) {
    swap(x1, x2);
  }
  for (int i = x1; i <= x2; ++i) {
    answer.emplace(y, i);
  }
}
int main() {
  vector<pair<int, int>> a(3);
  for (int i = 0; i < 3; ++i) {
    cin >> a[i].first >> a[i].second;
  }
  sort(a.begin(), a.end());
  connectH(a[0].first, a[1].first, a[0].second);
  connectH(a[1].first, a[2].first, a[2].second);
  connectV(a[0].second, a[1].second, a[1].first);
  connectV(a[1].second, a[2].second, a[1].first);
  cout << answer.size() << endl;
  for (auto& x : answer) {
    cout << x.first << ' ' << x.second << endl;
  }
  return 0;
}
