#include <bits/stdc++.h>
using namespace std;
const int N = 100004;
set<pair<int, int> > st;
pair<int, int> p[3];
void drawy(int x, int sy, int ey) {
  if (sy > ey) swap(sy, ey);
  for (int i = sy; i <= ey; i++) st.insert(pair<int, int>(x, i));
}
void drawx(int sx, int ex, int y) {
  if (sx > ex) swap(sx, ex);
  for (int i = sx; i <= ex; i++) st.insert(pair<int, int>(i, y));
}
int main() {
  for (int i = 0; i < 3; i++) scanf("%d %d", &p[i].first, &p[i].second);
  sort(p, p + 3);
  drawx(p[0].first, p[1].first, p[0].second);
  drawy(p[1].first, p[0].second, p[1].second);
  int mx = max(p[0].second, p[1].second), mn = min(p[0].second, p[1].second);
  drawx(p[1].first, p[2].first, p[2].second);
  if (p[2].second > mx)
    drawy(p[1].first, p[2].second, mx);
  else if (p[2].second < mn)
    drawy(p[1].first, p[2].second, mn);
  printf("%d\n", st.size());
  for (auto it = st.begin(); it != st.end(); it++) {
    printf("%d %d\n", (*it).first, (*it).second);
  }
}
