#include <bits/stdc++.h>
using namespace std;
bool cross(const pair<long long, long long> p1,
           const pair<long long, long long> p2,
           const pair<long long, long long> p3) {
  return (p2.second - p1.second) * (p3.first - p1.first) -
             (p2.first - p1.first) * (p3.second - p1.second) >
         0;
}
vector<pair<long long, long long> > convex_hull(
    vector<pair<long long, long long> > p) {
  vector<pair<long long, long long> > ret;
  sort(p.begin(), p.end());
  p.resize(unique(p.begin(), p.end()) - p.begin());
  for (int i = 0; i < p.size(); i++) {
    while (ret.size() >= 2 &&
           cross(ret[ret.size() - 2], ret[ret.size() - 1], p[i])) {
      ret.pop_back();
    }
    ret.push_back(p[i]);
  }
  int lower_hull_size = (int)ret.size() - 1;
  for (int i = p.size() - 2; i >= 0; i--) {
    while (ret.size() - lower_hull_size >= 2 &&
           cross(ret[ret.size() - 2], ret[ret.size() - 1], p[i])) {
      ret.pop_back();
    }
    ret.push_back(p[i]);
  }
  return ret;
}
long long Area(pair<long long, long long> p1, pair<long long, long long> p2,
               pair<long long, long long> p3) {
  return abs(p1.first * p2.second + p2.first * p3.second +
             p3.first * p1.second - p1.second * p2.first -
             p2.second * p3.first - p3.second * p1.first);
}
int main() {
  int n;
  vector<pair<long long, long long> > p;
  long long S;
  scanf("%d %lld", &n, &S);
  for (int i = 0; i < n; i++) {
    long long first, second;
    scanf("%lld %lld", &first, &second);
    p.push_back(pair<long long, long long>(first, second));
  }
  p = convex_hull(p);
  p.pop_back();
  n = p.size();
  int ii = 0, jj = 1, kk = 2;
  long long res = Area(p[ii], p[jj], p[kk]);
  for (int i = 0; i < n; i++) {
    int k = i + 1;
    for (int j = i + 1; j < n; j++) {
      while (k + 1 < n && Area(p[i], p[j], p[k]) < Area(p[i], p[j], p[k + 1])) {
        ++k;
      }
      long long a = Area(p[i], p[j], p[k]);
      if (a > res) {
        res = a;
        ii = i, jj = j, kk = k;
      }
    }
  }
  pair<long long, long long> a =
      make_pair(p[ii].first + p[jj].first - p[kk].first,
                p[ii].second + p[jj].second - p[kk].second);
  pair<long long, long long> b =
      make_pair(p[jj].first + p[kk].first - p[ii].first,
                p[jj].second + p[kk].second - p[ii].second);
  pair<long long, long long> c =
      make_pair(p[kk].first + p[ii].first - p[jj].first,
                p[kk].second + p[ii].second - p[jj].second);
  printf("%lld %lld\n%lld %lld\n%lld %lld\n", a.first, a.second, b.first,
         b.second, c.first, c.second);
  return 0;
}
