#include <bits/stdc++.h>   using namespace std;   bool comp(pair<long long, long long> &p1, pair<long long, long long> &p2) {     if (p1.first == p2.first) {       return p1.second < p2.second;     } else {       return p1.first < p2.first;     }   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     long long a1, b1, a2, b2, a3, b3;     map<pair<long long, long long>, long long> mp;     cin >> a1 >> b1;     cin >> a2 >> b2;     cin >> a3 >> b3;     vector<pair<long long, long long> > vect;     vect.push_back({a1, b1});     vect.push_back({a2, b2});     vect.push_back({a3, b3});     sort(vect.begin(), vect.end(), comp);     vector<pair<long long, long long> > vect1;     for (long long i = vect[0].first; i <= vect[1].first; i++) {       if (mp[{i, vect[0].second}] == 0) {         mp[{i, vect[0].second}] = 1;         vect1.push_back({i, vect[0].second});       }     }     if (vect[1].second > vect[0].second) {       for (long long i = vect[0].second + 1; i <= vect[1].second; i++) {         if (mp[{vect[1].first, i}] == 0) {           mp[{vect[1].first, i}] = 1;           vect1.push_back({vect[1].first, i});         }       }     } else if (vect[1].second < vect[0].second) {       for (long long i = vect[0].second - 1; i >= vect[1].second; i--) {         if (mp[{vect[1].first, i}] == 0) {           mp[{vect[1].first, i}] = 1;           vect1.push_back({vect[1].first, i});         }       }     }     long long h1 = vect[0].second;     long long h2 = vect[1].second;     if (h2 >= h1) {       if (vect[2].second >= h1 and vect[2].second <= h2) {         for (long long i = vect[1].first + 1; i <= vect[2].first; i++) {           if (mp[{i, vect[2].second}] == 0) {             mp[{i, vect[2].second}] = 1;             vect1.push_back({i, vect[2].second});           }         }       } else if (vect[2].second > h2) {         for (long long i = vect[1].first + 1; i <= vect[2].first; i++) {           if (mp[{i, vect[1].second}] == 0) {             mp[{i, vect[1].second}] = 1;             vect1.push_back({i, vect[1].second});           }         }         for (long long i = h2 + 1; i <= vect[2].second; i++) {           if (mp[{vect[2].first, i}] == 0) {             mp[{vect[2].first, i}] = 1;             vect1.push_back({vect[2].first, i});           }         }       } else if (vect[2].second < h1) {         for (long long i = vect[1].first + 1; i <= vect[2].first; i++) {           if (mp[{i, vect[0].second}] == 0) {             mp[{i, vect[0].second}] = 1;             vect1.push_back({i, vect[0].second});           }         }         for (long long i = h1 - 1; i >= vect[2].second; i--) {           if (mp[{vect[2].first, i}] == 0) {             mp[{vect[2].first, i}] = 1;             vect1.push_back({vect[2].first, i});           }         }       }     } else {       if (vect[2].second >= h2 and vect[2].second <= h1) {         for (long long i = vect[1].first + 1; i <= vect[2].first; i++) {           if (mp[{i, vect[2].second}] == 0) {             mp[{i, vect[2].second}] = 1;             vect1.push_back({i, vect[2].second});           }         }       } else if (vect[2].second > h1) {         for (long long i = vect[1].first + 1; i <= vect[2].first; i++) {           if (mp[{i, vect[0].second}] == 0) {             mp[{i, vect[0].second}] = 1;             vect1.push_back({i, vect[0].second});           }         }         for (long long i = h1 + 1; i <= vect[2].second; i++) {           if (mp[{vect[2].first, i}] == 0) {             mp[{vect[2].first, i}] = 1;             vect1.push_back({vect[2].first, i});           }         }       } else if (vect[2].second < h2) {         for (long long i = vect[1].first + 1; i <= vect[2].first; i++) {           if (mp[{i, vect[1].second}] == 0) {             mp[{i, vect[1].second}] = 1;             vect1.push_back({i, vect[1].second});           }         }         for (long long i = h2 - 1; i >= vect[2].second; i--) {           if (mp[{vect[2].first, i}] == 0) {             mp[{vect[2].first, i}] = 1;             vect1.push_back({vect[2].first, i});           }         }       }     }     cout << vect1.size() <<   n ;     for (long long i = 0; i < vect1.size(); i++) {       cout << vect1[i].first <<     << vect1[i].second <<   n ;     }     return 0;   }