#include <bits/stdc++.h>
using namespace std;
struct point {
  long long int x, y;
} P[5000];
long long int n, S;
long long int X(point a, point b, point c) { return (a.x + b.x - c.x); }
long long int Y(point a, point b, point c) { return (a.y + b.y - c.y); }
long long int area(point a, point b, point c) {
  return abs((b.x - a.x) * (c.y - a.y) - (c.x - a.x) * (b.y - a.y));
}
int main() {
  cin >> n >> S;
  for (int i = 0; i < n; i++) cin >> P[i].x >> P[i].y;
  int a = 0, b = 1, c = 2;
  bool go = true;
  while (go) {
    go = false;
    for (int i = 0; i < n; i++) {
      if (area(P[a], P[b], P[c]) < area(P[i], P[b], P[c])) {
        a = i;
        go = true;
      }
      if (area(P[a], P[b], P[c]) < area(P[a], P[i], P[c])) {
        b = i;
        go = true;
      }
      if (area(P[a], P[b], P[c]) < area(P[a], P[b], P[i])) {
        c = i;
        go = true;
      }
    }
  }
  cout << X(P[a], P[b], P[c]) << " " << Y(P[a], P[b], P[c]) << endl;
  cout << X(P[c], P[b], P[a]) << " " << Y(P[c], P[b], P[a]) << endl;
  cout << X(P[a], P[c], P[b]) << " " << Y(P[a], P[c], P[b]);
  return 0;
}
