#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int MAXN = 1e5 + 5;
pair<long long, long long> origin;
pair<long long, long long> operator-(pair<long long, long long> A,
                                     pair<long long, long long> B) {
  return pair<long long, long long>(A.first - B.first, A.second - B.second);
}
pair<long long, long long> operator+(pair<long long, long long> A,
                                     pair<long long, long long> B) {
  return pair<long long, long long>(A.first + B.first, A.second + B.second);
}
long long operator*(pair<long long, long long> A,
                    pair<long long, long long> B) {
  return abs(1LL * A.first * B.second - B.first * A.second);
}
void operator-=(pair<long long, long long> &A, pair<long long, long long> B) {
  A.first -= B.first;
  A.second -= B.second;
}
bool ccw(pair<long long, long long> O, pair<long long, long long> A,
         pair<long long, long long> B) {
  A -= O;
  B -= O;
  return 1LL * A.first * B.second > 1LL * A.second * B.first;
}
bool cmp(pair<long long, long long> A, pair<long long, long long> B) {
  return ccw(origin, A, B);
}
long long area(pair<long long, long long> A, pair<long long, long long> B,
               pair<long long, long long> C) {
  return abs(((B.first - A.first) * (C.second - A.second) -
              (C.first - A.first) * (B.second - A.second)));
}
bool check(pair<long long, long long> A, pair<long long, long long> B,
           pair<long long, long long> C, pair<long long, long long> P) {
  pair<long long, long long> PA = A - P;
  pair<long long, long long> PB = B - P;
  pair<long long, long long> PC = C - P;
  pair<long long, long long> AB = B - A;
  pair<long long, long long> AC = C - A;
  if (PA * PB + PB * PC + PC * PA > AB * AC)
    return false;
  else
    return true;
}
vector<pair<long long, long long> > convex;
int n;
long long S;
pair<long long, long long> a[MAXN];
int main() {
  cin >> n >> S;
  for (int i = 1; i <= n; ++i) cin >> a[i].first >> a[i].second;
  sort(a + 1, a + n + 1);
  pair<long long, long long> A = a[1], B = a[2], C = a[3];
  long long SMax = area(A, B, C);
  while (1) {
    bool ans = false;
    for (int i = 1; i <= n; ++i)
      if (area(A, B, a[i]) > SMax)
        SMax = area(A, B, a[i]), C = a[i], ans = true;
    for (int i = 1; i <= n; ++i)
      if (area(A, a[i], C) > SMax)
        SMax = area(A, a[i], C), B = a[i], ans = true;
    for (int i = 1; i <= n; ++i)
      if (area(a[i], B, C) > SMax)
        SMax = area(a[i], B, C), A = a[i], ans = true;
    if (ans == false) break;
  }
  pair<long long, long long> X = (A + B) - C;
  pair<long long, long long> Y = (B + C) - A;
  pair<long long, long long> Z = (A + C) - B;
  cout << X.first << " " << X.second << endl;
  cout << Y.first << " " << Y.second << endl;
  cout << Z.first << " " << Z.second << endl;
  return 0;
}
