#include <bits/stdc++.h>
using namespace std;
int vis[1050][1050];
pair<int, int> a[5], cur;
int tmp = 0;
int cal(int x1, int y1, int x2, int y2) {
  return max(abs(x1 - x2) + abs(y1 - y2) - 1, 0);
}
void pint(int x1, int y1, int x2, int y2) {
  if (x1 > x2) {
    swap(x1, x2);
    swap(y1, y2);
  }
  if (y1 <= y2) {
    while (x1 <= x2 || y1 <= y2) {
      if (x1 > x2)
        vis[x1 - 1][y1++] = 1;
      else
        vis[x1++][y1] = 1;
    }
  } else {
    while (x1 <= x2 || y1 >= y2) {
      if (x1 > x2)
        vis[x1 - 1][y1--] = 1;
      else
        vis[x1++][y1] = 1;
    }
  }
}
int main() {
  int ans = 9999999;
  memset(vis, 0, sizeof(vis));
  for (int i = 1; i <= 3; i++) cin >> a[i].first >> a[i].second;
  for (int i = 0; i <= 1000; i++)
    for (int j = 0; j <= 1000; j++) {
      tmp = 4;
      for (int t = 1; t <= 3; t++) {
        if (a[t].first == i && a[t].second == j) tmp--;
        tmp = tmp + cal(i, j, a[t].first, a[t].second);
      }
      if (tmp < ans) {
        ans = tmp;
        cur = make_pair(i, j);
      }
    }
  cout << ans << endl;
  vis[cur.first][cur.second] = 1;
  for (int i = 1; i <= 3; i++)
    pint(a[i].first, a[i].second, cur.first, cur.second);
  for (int i = 0; i <= 1000; i++)
    for (int j = 0; j <= 1000; j++) {
      if (vis[i][j]) cout << i << ' ' << j << endl;
    }
}
