#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:60777216")
using namespace std;
int main() {
  int x[3], y[3];
  for (int i = (0); i < (3); i++) cin >> x[i] >> y[i];
  vector<pair<int, int> > w;
  for (int i = (0); i < (3); i++)
    for (int j = (0); j < (3); j++)
      for (int tp = (0); tp < (2); tp++)
        if (i != j) {
          vector<pair<int, int> > t;
          int x1 = x[i], y1 = y[i];
          t.push_back(pair<int, int>(x1, y1));
          while (x1 != x[j] || y1 != y[j]) {
            if (tp == 0) {
              if (x1 != x[j])
                x1 += (x[j] > x1 ? 1 : -1);
              else
                y1 += (y[j] > y1 ? 1 : -1);
            } else {
              if (y1 != y[j])
                y1 += (y[j] > y1 ? 1 : -1);
              else
                x1 += (x[j] > x1 ? 1 : -1);
            }
            t.push_back(pair<int, int>(x1, y1));
          }
          int bt = 0;
          for (int q = (0); q < (t.size()); q++) {
            if (abs(t[bt].first - x[3 - i - j]) +
                    abs(t[bt].second - y[3 - i - j]) >
                abs(t[q].first - x[3 - i - j]) +
                    abs(t[q].second - y[3 - i - j]))
              bt = q;
          }
          x1 = t[bt].first;
          y1 = t[bt].second;
          while (x1 != x[3 - i - j] || y1 != y[3 - i - j]) {
            if (x1 != x[3 - i - j])
              x1 += (x[3 - i - j] > x1 ? 1 : -1);
            else
              y1 += (y[3 - i - j] > y1 ? 1 : -1);
            t.push_back(pair<int, int>(x1, y1));
          }
          if (w.size() == 0 || w.size() > t.size()) w = t;
        }
  cout << w.size() << endl;
  for (int i = (0); i < (w.size()); i++)
    cout << w[i].first << ' ' << w[i].second << endl;
  return 0;
}
