#include <bits/stdc++.h>
using namespace std;
int main() {
  pair<int, int> a;
  pair<int, int> b;
  pair<int, int> c;
  int x, y;
  cin >> x >> y;
  a = {x, y};
  int x1, y1;
  cin >> x1 >> y1;
  b = {x1, y1};
  int x2, y2;
  cin >> x2 >> y2;
  c = {x2, y2};
  vector<pair<int, int>> ans;
  vector<pair<int, int>> ans1;
  ans.push_back(a);
  ans.push_back(b);
  ans.push_back(c);
  sort(ans.begin(), ans.end());
  if (ans[1].second > ans[0].second) {
    for (int i = ans[0].first; i <= ans[1].first; ++i) {
      ans1.push_back({i, ans[0].second});
    }
    for (int i = ans[0].second + 1; i <= ans[1].second; ++i) {
      ans1.push_back({ans[1].first, i});
    }
  } else {
    for (int i = ans[0].first; i <= ans[1].first; ++i) {
      ans1.push_back({i, ans[0].second});
    }
    for (int i = ans[0].second - 1; i >= ans[1].second; i--) {
      ans1.push_back({ans[1].first, i});
    }
  }
  long long sum =
      abs(ans[1].first - ans[0].first) + abs(ans[1].second - ans[0].second) + 1;
  if (min(ans[0].second, ans[1].second) <= ans[2].second &&
      ans[2].second <= max(ans[1].second, ans[0].second)) {
    sum += ans[2].first - ans[1].first;
    for (int i = ans[1].first + 1; i <= ans[2].first; ++i)
      ans1.push_back({i, ans[2].second});
  } else if (ans[2].second < min(ans[0].second, ans[1].second)) {
    sum += min(ans[1].second, ans[0].second) - ans[2].second + ans[2].first -
           ans[1].first;
    for (int i = min(ans[1].second, ans[0].second) - 1; i >= ans[2].second;
         i--) {
      ans1.push_back({ans[1].first, i});
    }
    for (int i = ans[1].first + 1; i <= ans[2].first; ++i)
      ans1.push_back({i, ans[2].second});
  } else {
    for (int i = max(ans[1].second, ans[0].second) + 1; i <= ans[2].second;
         i++) {
      ans1.push_back({ans[1].first, i});
    }
    for (int i = ans[1].first + 1; i <= ans[2].first; ++i)
      ans1.push_back({i, ans[2].second});
    sum += ans[2].second - max(ans[1].second, ans[0].second) + ans[2].first -
           ans[1].first;
  }
  cout << sum << endl;
  for (auto a : ans1) {
    cout << a.first << " " << a.second << endl;
  }
}
