#include <bits/stdc++.h>   int mut(int x) {     if (x < 0)       return -x;     else       return x;   }   int d[1000001][2];   int d1[1000001][2];   int main(void) {     int ax;     int ay;     int bx;     int by;     int cx;     int cy;     int c = 0;     int min = 99999;     scanf( %d%d%d%d%d%d , &ax, &ay, &bx, &by, &cx, &cy);     int x = ax;     int y = ay;     d[c][0] = ax;     d[c][1] = ay;     c++;     if (bx >= ax && by >= ay) {       for (int i = y; i <= by; i++) {         for (int j = x; j <= bx; j++) {           if (min > mut(i - cy) + mut(j - cx)) {             min = mut(i - cy) + mut(j - cx);             d1[min][0] = j;             d1[min][1] = i;           }         }       }     } else if (bx <= ax && by <= ay) {       for (int i = y; i >= by; i--) {         for (int j = x; j >= bx; j--) {           if (min > mut(i - cy) + mut(j - cx)) {             min = mut(i - cy) + mut(j - cx);             d1[min][0] = j;             d1[min][1] = i;           }         }       }     } else if (bx >= ax && by <= ay) {       for (int i = y; i >= by; i--) {         for (int j = x; j <= bx; j++) {           if (min > mut(i - cy) + mut(j - cx)) {             min = mut(i - cy) + mut(j - cx);             d1[min][0] = j;             d1[min][1] = i;           }         }       }     } else if (bx <= ax && by >= ay) {       for (int i = y; i <= by; i++) {         for (int j = x; j >= bx; j--) {           if (min > mut(i - cy) + mut(j - cx)) {             min = mut(i - cy) + mut(j - cx);             d1[min][0] = j;             d1[min][1] = i;           }         }       }     }     int x1 = d1[min][0];     int y1 = d1[min][1];     if (ax < x1) {       while (x < x1) {         x++;         d[c][0] = x;         d[c][1] = y;         c++;       }     } else if (ax > x1) {       while (x > x1) {         x--;         d[c][0] = x;         d[c][1] = y;         c++;       }     }     if (ay > y1) {       while (y > y1) {         y--;         d[c][0] = x;         d[c][1] = y;         c++;       }     } else if (ay < y1) {       while (y < y1) {         y++;         d[c][0] = x;         d[c][1] = y;         c++;       }     }     x = x1;     y = y1;     if (x1 < bx) {       while (x < bx) {         x++;         d[c][0] = x;         d[c][1] = y;         c++;       }     } else if (x1 > bx) {       while (x > bx) {         x--;         d[c][0] = x;         d[c][1] = y;         c++;       }     }     if (y1 > by) {       while (y > by) {         y--;         d[c][0] = x;         d[c][1] = y;         c++;       }     } else if (y1 < by) {       while (y < by) {         y++;         d[c][0] = x;         d[c][1] = y;         c++;       }     }     x = x1;     y = y1;     if (x1 < cx) {       while (x1 < cx) {         x1++;         d[c][0] = x1;         d[c][1] = y1;         c++;       }     } else if (x1 > cx) {       while (x1 > cx) {         x1--;         d[c][0] = x1;         d[c][1] = y1;         c++;       }     }     if (y1 < cy) {       while (y1 < cy) {         y1++;         d[c][0] = x1;         d[c][1] = y1;         c++;       }     } else if (y1 > cy) {       while (y1 > cy) {         y1--;         d[c][0] = x1;         d[c][1] = y1;         c++;       }     }     printf( %d n , c);     for (int i = 0; i < c; i++) {       printf( %d %d n , d[i][0], d[i][1]);     }     return 0;   }