#include <bits/stdc++.h>
using namespace std;
struct Point {
  long long x, y;
  Point() {}
  Point(long long tx, long long ty) {
    x = tx;
    y = ty;
  }
} p[5100];
long long xmul(Point p0, Point p1, Point p2) {
  return (p1.x - p0.x) * (p2.y - p0.y) - (p2.x - p0.x) * (p1.y - p0.y);
}
long long triangle_area(Point a, Point b, Point c) {
  return abs(xmul(a, b, c));
}
int main() {
  int n;
  long long S;
  while (scanf("%d %I64d", &n, &S) != EOF) {
    for (int i = 1; i <= n; i++) scanf("%I64d %I64d", &p[i].x, &p[i].y);
    bool flag = 1;
    int a = 1, b = 2, c = 3;
    long long ans = triangle_area(p[a], p[b], p[c]);
    while (flag) {
      flag = 0;
      for (int i = 1; i <= n; i++) {
        long long tmp;
        tmp = triangle_area(p[a], p[b], p[i]);
        if (tmp > ans) {
          ans = tmp;
          c = i;
          flag = 1;
        }
        tmp = triangle_area(p[a], p[i], p[c]);
        if (tmp > ans) {
          ans = tmp;
          b = i;
          flag = 1;
        }
        tmp = triangle_area(p[i], p[b], p[c]);
        if (tmp > ans) {
          ans = tmp;
          a = i;
          flag = 1;
        }
      }
    }
    cout << p[a].x + p[b].x - p[c].x << ' ' << p[b].y + p[a].y - p[c].y << endl;
    cout << p[a].x + p[c].x - p[b].x << ' ' << p[c].y + p[a].y - p[b].y << endl;
    cout << p[c].x + p[b].x - p[a].x << ' ' << p[b].y + p[c].y - p[a].y << endl;
  }
  return 0;
}
