#include <bits/stdc++.h>
using namespace std;
int vis[1010][1010];
pair<int, int> p[3];
vector<pair<int, int>> ans;
int main() {
  for (int i = 0; i < 3; i++) scanf("%d%d", &p[i].first, &p[i].second);
  sort(p, p + 3);
  int x = p[0].first, y = p[0].second;
  while (x < p[1].first) {
    if (!vis[x][y]) {
      vis[x][y] = 1;
      ans.push_back({x, y});
    }
    x++;
  }
  int flag = p[1].second - y > 0 ? 1 : -1;
  while (y != p[1].second) {
    if (!vis[x][y]) {
      vis[x][y] = 1;
      ans.push_back({x, y});
    }
    y += flag;
  }
  flag = p[2].second - y > 0 ? 1 : -1;
  while (y != p[2].second) {
    if (!vis[x][y]) {
      vis[x][y] = 1;
      ans.push_back({x, y});
    }
    y += flag;
  }
  while (x < p[2].first) {
    if (!vis[x][y]) {
      vis[x][y] = 1;
      ans.push_back({x, y});
    }
    x++;
  }
  if (!vis[x][y]) ans.push_back({x, y});
  printf("%d\n", ans.size());
  for (auto i : ans) printf("%d %d\n", i.first, i.second);
  return 0;
}
