#include <bits/stdc++.h>
using namespace std;
int M[1010][1010];
int Ax, Ay, Bx, By, Cx, Cy;
int Min = 1234567890, Mx, My;
set<pair<int, int> > P;
int main() {
  scanf("%d %d", &Ax, &Ay);
  scanf("%d %d", &Bx, &By);
  scanf("%d %d", &Cx, &Cy);
  for (int i = 0; i <= 1000; i++)
    for (int j = 0; j <= 1000; j++) {
      if (abs(Ax - i) + abs(Ay - j) + abs(Bx - i) + abs(By - j) + abs(Cx - i) +
              abs(Cy - j) <
          Min) {
        Min = abs(Ax - i) + abs(Ay - j) + abs(Bx - i) + abs(By - j) +
              abs(Cx - i) + abs(Cy - j);
        Mx = i, My = j;
      }
    }
  if (Mx <= Ax) {
    for (int i = Mx; i <= Ax; i++) P.insert(pair<int, int>(i, My));
    if (My <= Ay)
      for (int i = My; i <= Ay; i++) P.insert(pair<int, int>(Ax, i));
    else
      for (int i = My; i >= Ay; i--) P.insert(pair<int, int>(Ax, i));
  } else {
    for (int i = Ax; i <= Mx; i++) P.insert(pair<int, int>(i, Ay));
    if (Ay <= My)
      for (int i = Ay; i <= My; i++) P.insert(pair<int, int>(Mx, i));
    else
      for (int i = Ay; i >= My; i--) P.insert(pair<int, int>(Mx, i));
  }
  if (Mx <= Bx) {
    for (int i = Mx; i <= Bx; i++) P.insert(pair<int, int>(i, My));
    if (My <= By)
      for (int i = My; i <= By; i++) P.insert(pair<int, int>(Bx, i));
    else
      for (int i = My; i >= By; i--) P.insert(pair<int, int>(Bx, i));
  } else {
    for (int i = Bx; i <= Mx; i++) P.insert(pair<int, int>(i, By));
    if (By <= My)
      for (int i = By; i <= My; i++) P.insert(pair<int, int>(Mx, i));
    else
      for (int i = By; i >= My; i--) P.insert(pair<int, int>(Mx, i));
  }
  if (Mx <= Cx) {
    for (int i = Mx; i <= Cx; i++) P.insert(pair<int, int>(i, My));
    if (My <= Cy)
      for (int i = My; i <= Cy; i++) P.insert(pair<int, int>(Cx, i));
    else
      for (int i = My; i >= Cy; i--) P.insert(pair<int, int>(Cx, i));
  } else {
    for (int i = Cx; i <= Mx; i++) P.insert(pair<int, int>(i, Cy));
    if (Cy <= My)
      for (int i = Cy; i <= My; i++) P.insert(pair<int, int>(Mx, i));
    else
      for (int i = Cy; i >= My; i--) P.insert(pair<int, int>(Mx, i));
  }
  printf("%d\n", P.size());
  for (pair<int, int> it : P) printf("%d %d\n", it.first, it.second);
  return 0;
}
