#include <bits/stdc++.h>
using namespace std;
int x[2005], y[2005];
long long n, targ, calc[2005][2005];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> targ;
  for (int i = 0; i < n; i++) cin >> x[i] >> y[i];
  for (int i = 0; i < n; i++)
    for (int j = i + 1; j < n; j++)
      calc[i][j] = 1LL * x[i] * y[j] - 1LL * x[j] * y[i];
  int a, b, c;
  for (a = 0; a < n; a++)
    for (b = a + 1; b < n; b++) {
      long long goal1 = 2 * targ + calc[a][b], goal2 = -2 * targ + calc[a][b];
      for (c = b + 1; c + 3 < n; c += 4) {
        {
          long long val = -calc[b][c] + calc[a][c];
          if (val == goal1 || val == goal2) {
            printf("Yes\n%d %d\n%d %d\n%d %d\n", x[a], y[a], x[b], y[b], x[c],
                   y[c]);
            return 0;
          }
        };
        {
          long long val = -calc[b][c + 1] + calc[a][c + 1];
          if (val == goal1 || val == goal2) {
            printf("Yes\n%d %d\n%d %d\n%d %d\n", x[a], y[a], x[b], y[b],
                   x[c + 1], y[c + 1]);
            return 0;
          }
        };
        {
          long long val = -calc[b][c + 2] + calc[a][c + 2];
          if (val == goal1 || val == goal2) {
            printf("Yes\n%d %d\n%d %d\n%d %d\n", x[a], y[a], x[b], y[b],
                   x[c + 2], y[c + 2]);
            return 0;
          }
        };
        {
          long long val = -calc[b][c + 3] + calc[a][c + 3];
          if (val == goal1 || val == goal2) {
            printf("Yes\n%d %d\n%d %d\n%d %d\n", x[a], y[a], x[b], y[b],
                   x[c + 3], y[c + 3]);
            return 0;
          }
        };
      }
      for (; c < n; c++) {
        long long val = -calc[b][c] + calc[a][c];
        if (val == goal1 || val == goal2) {
          printf("Yes\n%d %d\n%d %d\n%d %d\n", x[a], y[a], x[b], y[b], x[c],
                 y[c]);
          return 0;
        }
      };
    }
  cout << "No\n";
}
