#include<bits/stdc++.h>
#include<atcoder/all>
#define chmin(x,y) (x) = min((x),(y))
#define chmax(x,y) (x) = max((x),(y))
using namespace std;
using namespace atcoder;
using ll = long long;
const ll mod = 998244353;
using mint = modint998244353;
using Graph = vector<vector<int>>;
const vector<int> dx ={1,0,-1,0}, dy = {0,1,0,-1};

// https://betrue12.hateblo.jp/entry/2020/09/22/194541
struct S{
  int value;
  int size;
};
using F = int;
const F ID = int(2e9);
S op(S a, S b){ return {a.value+b.value, a.size+b.size}; }
S e(){ return {0, 0}; }
S mapping(F f, S x){
  if(f != ID) x.value = x.size * f;
  return x;
}
F composition(F f, F g){ return (f == ID ? g : f); }
F id(){ return ID; }


int main() {
  // input
  int N; cin >> N;
  int a1,a2,b1,b2,c1,c2;
  cin >> a1 >> a2 >> b1 >> b2 >> c1 >> c2;
  
  
  // output
  cout << 4 << endl;
  for(int i = 0; i < 4; i++){
  	cout << c1+dx[i] << " " << c2+dy[i] << endl;
  }
  
}