#include <bits/stdc++.h>   using namespace std;   int n, k;   int x[100000], y[100000], xx[100000], yy[100000];   int ord[100000];   vector<int> inds;   inline bool cmpx(const int &lhs, const int &rhs) { return x[lhs] < x[rhs]; }   inline bool cmpy(const int &lhs, const int &rhs) { return y[lhs] < y[rhs]; }   vector<int> xs, ys;   void sortUnique(vector<int> &inds) {     sort(inds.begin(), inds.end());     inds.erase(unique(inds.begin(), inds.end()), inds.end());   }   int main() {     scanf( %d%d , &n, &k);     for (int i = 0; i < (int)(n); ++i)       scanf( %d%d%d%d , x + i, y + i, xx + i, yy + i), x[i] += xx[i],           y[i] += yy[i];     for (int i = 0; i < (int)(n); ++i) ord[i] = i;     sort(ord, ord + n, cmpx);     for (int i = 0; i < (int)(k + 1); ++i) inds.push_back(ord[i]);     for (int i = 0; i < (int)(k + 1); ++i) inds.push_back(ord[n - 1 - i]);     for (int i = 0; i < (int)(n); ++i) ord[i] = i;     sort(ord, ord + n, cmpy);     for (int i = 0; i < (int)(k + 1); ++i) inds.push_back(ord[i]);     for (int i = 0; i < (int)(k + 1); ++i) inds.push_back(ord[n - 1 - i]);     sortUnique(inds);     for (int ind : inds) xs.push_back(x[ind]), ys.push_back(y[ind]);     sortUnique(xs);     sortUnique(ys);     int xsz = (int)xs.size();     int ysz = (int)ys.size();     long long ans = 2e18;     for (int i = 0; i < (int)(xsz); ++i)       for (int j = i; j < xsz; ++j) {         int cnt = j - i + 1;         if (xsz - cnt > k) continue;         int xbeg = xs[i], xed = xs[j];         for (int ii = 0; ii < (int)(ysz); ++ii)           for (int jj = ii; jj < ysz; ++jj) {             cnt = jj - ii + 1;             if (ysz - cnt > k) continue;             int ybeg = ys[ii], yed = ys[jj];             int bad = 0;             for (int ind : inds)               if (x[ind] < xbeg || x[ind] > xed || y[ind] < ybeg ||                   y[ind] > yed) {                 ++bad;               }             if (bad <= k) {               long long dx = ((long long)xed - xbeg + 1) / 2;               long long dy = ((long long)yed - ybeg + 1) / 2;               if (dx <= 0) dx = 1;               if (dy <= 0) dy = 1;               ans = min(ans, (long long)dx * dy);             }           }       }     cout << ans << endl;     return 0;   }   