#include <bits/stdc++.h>   using namespace std;   const int nm = 100010;   int n, k;   long long x[nm], y[nm];   set<pair<long long, int> > ngang, doc;   vector<int> xoa1, xoa2, xoa3, xoa4;   int main() {     scanf( %d%d , &n, &k);     for (int i = 1; i <= n; ++i) {       int a, b, c, d;       scanf( %d%d%d%d , &a, &b, &c, &d);       x[i] = a + c;       y[i] = b + d;       ngang.insert(make_pair(y[i], i));       doc.insert(make_pair(x[i], i));     }     long long res = LONG_LONG_MAX;     for (int a = 0; a <= k; ++a) {       for (int i = 1; i <= a; ++i) {         int u = ngang.begin()->second;         xoa1.push_back(u);         ngang.erase(ngang.begin());         doc.erase(make_pair(x[u], u));       }       for (int b = 0; a + b <= k; ++b) {         for (int i = 1; i <= b; ++i) {           multiset<pair<long long, int> >::iterator it = ngang.end();           it--;           int u = it->second;           xoa2.push_back(u);           ngang.erase(it);           doc.erase(make_pair(x[u], u));         }         for (int c = 0; a + b + c <= k; ++c) {           for (int i = 1; i <= c; ++i) {             int u = doc.begin()->second;             xoa3.push_back(u);             doc.erase(doc.begin());             ngang.erase(make_pair(y[u], u));           }           int d = k - a - b - c;           for (int i = 1; i <= d; ++i) {             multiset<pair<long long, int> >::iterator it = doc.end();             it--;             int u = it->second;             xoa4.push_back(u);             doc.erase(it);             ngang.erase(make_pair(y[u], u));           }           multiset<pair<long long, int> >::iterator it = ngang.end();           it--;           long long A = it->first - ngang.begin()->first;           if (A & 1) A++;           if (A == 0) A = 2;           it = doc.end();           it--;           long long B = it->first - doc.begin()->first;           if (B & 1) B++;           if (B == 0) B = 2;           res = min(res, A * B);           for (int i = int(xoa4.size()) - 1; i >= 0; --i) {             int u = xoa4[i];             xoa4.pop_back();             doc.insert(make_pair(x[u], u));             ngang.insert(make_pair(y[u], u));           }           for (int i = int(xoa3.size()) - 1; i >= 0; --i) {             int u = xoa3[i];             xoa3.pop_back();             doc.insert(make_pair(x[u], u));             ngang.insert(make_pair(y[u], u));           }         }         for (int i = int(xoa2.size()) - 1; i >= 0; --i) {           int u = xoa2[i];           xoa2.pop_back();           doc.insert(make_pair(x[u], u));           ngang.insert(make_pair(y[u], u));         }       }       for (int i = int(xoa1.size()) - 1; i >= 0; --i) {         int u = xoa1[i];         xoa1.pop_back();         doc.insert(make_pair(x[u], u));         ngang.insert(make_pair(y[u], u));       }     }     printf( %I64d n , res / 4);   }   