#include <iostream>
#include <iomanip>
#include <cmath>
#include <algorithm>
#include <bits/stdc++.h>
#include <set>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <map>
#define ll long long
using namespace __gnu_pbds;
using namespace std;
template <class T>
using ordered_set = tree<T , null_type , less<T> , rb_tree_tag , tree_order_statistics_node_update>;
template <class T>
using ordered_set1 = tree<T , null_type , greater<T> , rb_tree_tag , tree_order_statistics_node_update>;
// less<T>/greater<T> = ascending/descending.
// less_equal<>/greater_equal<> for ordered multiset
// ordered_multiset note : s.find(), s.erase() don't work + s.upper_bound() and s.lower_bound() swap jobs;
void fastIO(void) {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
}
int arr[1002][1002]={};
int main() {
fastIO();
int n,k; cin>>n>>k;
while (n--) {
int x1,y1,x2,y2; cin>>x1>>y1>>x2>>y2;
arr[y1][x1]++;
arr[y2+1][x1]--;
arr[y1][x2+1]--;
arr[y2+1][x2+1]++;
}
for (int i = 1; i<=1000; i++) {
for (int j = 1; j<=1000; j++) {
arr[i][j]+=arr[i-1][j];
}
}
for (int i = 1; i<=1000; i++) {
for (int j = 1; j<=1000; j++) {
arr[i][j]+=arr[i][j-1];
}
}
int count = 0;
for (int i = 1; i<=1000; i++) {
for (int j = 1; j<=1000; j++) {
if (arr[i][j]==k) count++;
}
}
cout<<count;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPGV4dC9wYl9kcy9hc3NvY19jb250YWluZXIuaHBwPgojaW5jbHVkZSA8ZXh0L3BiX2RzL3RyZWVfcG9saWN5LmhwcD4KI2luY2x1ZGUgPG1hcD4KI2RlZmluZSBsbCBsb25nIGxvbmcKdXNpbmcgbmFtZXNwYWNlIF9fZ251X3BiZHM7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnRlbXBsYXRlIDxjbGFzcyBUPgp1c2luZyBvcmRlcmVkX3NldCA9IHRyZWU8VCAsIG51bGxfdHlwZSAsIGxlc3M8VD4gLCByYl90cmVlX3RhZyAsIHRyZWVfb3JkZXJfc3RhdGlzdGljc19ub2RlX3VwZGF0ZT47CnRlbXBsYXRlIDxjbGFzcyBUPgp1c2luZyBvcmRlcmVkX3NldDEgPSB0cmVlPFQgLCBudWxsX3R5cGUgLCBncmVhdGVyPFQ+ICwgcmJfdHJlZV90YWcgLCB0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGU+OwovLyBsZXNzPFQ+L2dyZWF0ZXI8VD4gPSBhc2NlbmRpbmcvZGVzY2VuZGluZy4KLy8gbGVzc19lcXVhbDw+L2dyZWF0ZXJfZXF1YWw8PiBmb3Igb3JkZXJlZCBtdWx0aXNldAovLyBvcmRlcmVkX211bHRpc2V0IG5vdGUgOiBzLmZpbmQoKSwgcy5lcmFzZSgpIGRvbid0IHdvcmsgKyBzLnVwcGVyX2JvdW5kKCkgYW5kIHMubG93ZXJfYm91bmQoKSBzd2FwIGpvYnM7CnZvaWQgZmFzdElPKHZvaWQpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIGNvdXQudGllKE5VTEwpOwp9CmludCBhcnJbMTAwMl1bMTAwMl09e307CmludCBtYWluKCkgewogICAgZmFzdElPKCk7CiAgICBpbnQgbixrOyBjaW4+Pm4+Pms7CiAgICB3aGlsZSAobi0tKSB7CiAgICAgICAgaW50IHgxLHkxLHgyLHkyOyBjaW4+PngxPj55MT4+eDI+PnkyOwogICAgICAgIGFyclt5MV1beDFdKys7CiAgICAgICAgYXJyW3kyKzFdW3gxXS0tOwogICAgICAgIGFyclt5MV1beDIrMV0tLTsKICAgICAgICBhcnJbeTIrMV1beDIrMV0rKzsKICAgIH0KICAgIGZvciAoaW50IGkgPSAxOyBpPD0xMDAwOyBpKyspIHsKICAgICAgICBmb3IgKGludCBqID0gMTsgajw9MTAwMDsgaisrKSB7CiAgICAgICAgICAgIGFycltpXVtqXSs9YXJyW2ktMV1bal07CiAgICAgICAgfQogICAgfQogICAgZm9yIChpbnQgaSA9IDE7IGk8PTEwMDA7IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSAxOyBqPD0xMDAwOyBqKyspIHsKICAgICAgICAgICAgYXJyW2ldW2pdKz1hcnJbaV1bai0xXTsKICAgICAgICB9CiAgICB9CiAgICBpbnQgY291bnQgPSAwOwogICAgZm9yIChpbnQgaSA9IDE7IGk8PTEwMDA7IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSAxOyBqPD0xMDAwOyBqKyspIHsKICAgICAgICAgICAgaWYgKGFycltpXVtqXT09aykgY291bnQrKzsKICAgICAgICB9CiAgICB9CiAgICBjb3V0PDxjb3VudDsKfQ==