#include <bits/stdc++.h>
using namespace std;
template <typename T>
void trace(T a) {
  cout << a << "\n";
}
template <typename T, typename... Args>
void trace(T a, Args... args) {
  cout << a << " ";
  trace(args...);
}
int recNum = 0;
void prTabs() {
  for (int i = 0; i < recNum; i++) cout << "    ";
}
template <typename... Args>
void recInit(Args... args) {
  prTabs();
  trace("rec(", args..., ")");
  recNum++;
}
template <typename T>
void recEnd(T a) {
  prTabs();
  trace("->", a);
  recNum--;
}
bool eq(double a, double b) { return fabs(a - b) < 1e-9; }
struct pt {
  double x, y;
  pt(double X = 0.0, double Y = 0.0) {
    x = X;
    y = Y;
  }
};
int n, m;
int a, b, c, x, y, xa, ya, xb, yb, xc, yc;
int main() {
  scanf("%d %d", &x, &y);
  scanf("%d %d", &xa, &ya);
  scanf("%d %d", &xb, &yb);
  int i = 0;
  set<pair<int, int> > s;
  s.insert({xa + xb - x, ya + yb - y});
  s.insert({xa - (xb - x), ya - (yb - y)});
  s.insert({xa + x - xb, ya + y - yb});
  s.insert({xa - (x - xb), ya - (y - yb)});
  s.insert({x + xb - xa, y + yb - ya});
  s.insert({x - (xb - xa), y - (yb - ya)});
  printf("%d\n", (int)s.size());
  for (set<pair<int, int> >::iterator it = s.begin(); it != s.end(); it++) {
    printf("%d %d\n", (*it).first, (*it).second);
  }
  return 0;
}
