#include<bits/stdc++.h>

#define int long long int
#define rep(a,b,c) for(int a=b;a<c;a++)
#define repm(a,b,c) for(int a=(b-1);a>=c;a--)
#define pb push_back
#define str string
#define sf(a) scanfs("%d",&a)
#define pb push_back
#define mp make_pair
#define Fi first
#define Se second
#define ALL(v) (v).begin(), (v).end()

using namespace std;

const int INF = 1e18 + 9;
const int Mod = 1e9 + 7;
inline int replac(str s){double ans=0;rep(i,0,s.length()){ans+=(s[i]-'0')*pow(10,s.length()-i-1);}return (int)ans;}
inline string numstr(int m){str s="";while(m>0){char c;int a=m/10;if(a>0)a=m%(a*10);else a=m;c=(char)('0'+a);s+=c;m/=10;}str st="";for(int i=s.size()-1;i>=0;i--){st+=s[i];}return st;}
typedef vector<int> vi;
typedef pair<int,int> pii;
typedef vector<pii> vii;

signed main()
{
    cin.tie(0);
    ios::sync_with_stdio(false);
    int n,m;cin >> n >> m;
    vi x,y,z;
    int X[101],Y[101],Z[101];
    int xu[51],yu[51],zu[51];
    rep(i,0,n){
        cin >> X[n+i] >> Y[n+i] >> Z[n+i];
        cin >> X[i] >> Y[i] >> Z[i];
        x.pb(X[n+i]);x.pb(X[i]);y.pb(Y[i]);y.pb(Y[i+n]);z.pb(Z[i]);z.pb(Z[i+n]);
    }
    sort(ALL(x));
    sort(ALL(y));
    sort(ALL(z));
    int ans=0;
    rep(i,1,n*2){
        rep(j,1,n*2){
            rep(k,1,n*2){
                int len=0;
                //cout << X[i] << " " << Y[j] << " " << Z[k] << endl;
                rep(l,0,n){
                  //  cout << X[l] << " | " << X[l+n] << endl;
                        if(x[i]<=X[l]&&X[l+n]<=x[i-1]){
                        if(y[j]<=Y[l]&&Y[l+n]<=y[j-1]){
                        if(z[k]<=Z[l]&&Z[l+n]<=z[k-1]){len++;}}}
                }
                //cout << len << "  ";
                if(len>=m){
                    //cout << "a" << endl;
                    ans+=(x[i]-x[i-1])*(y[j]-y[j-1])*(z[k]-z[k-1]);
                }
            }
        }
    }
    cout << ans << endl;
    return 0;
}