#include<bits/stdc++.h>
using namespace std;

int main(){

    long long n, v; cin >> n >> v;
    
    vector<long long> a(n);
    vector<long long> b(n);
    vector<long long> c(n);
    vector<long long> d(n);

    for(int i = 0; i < n; i++){
        cin >> a[i];
    }

    for(int i = 0; i < n; i++){
        cin >> b[i];
    }

    for(int i = 0; i < n; i++){
        cin >> c[i];
    }

    for(int i = 0; i < n; i++){
        cin >> d[i];
    }

    /*for(int i = 0; i < n; i++) cout << a[i] << " ";
    cout << endl;
    for(int i = 0; i < n; i++) cout << b[i] << " ";
    cout << endl;*/

    map<long long, long long> ma;
    map<long long, long long> mb;

    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
            long long C = a[i] + b[j];
            ma[C]++;
        }
    }

    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
            long long C = c[i] + d[j];
            mb[C]++;
        }
    }
    
    long long ans = 0;
    for(auto itr = ma.begin(); itr != ma.end(); ++itr) {
        long long C = itr->first;
        long long num1 = itr->second;

        //cout << C << " " << num1 << endl;
        C = v - C;

        long long num2 = mb[C];
        ans += num1 * num2;
    }

    cout << ans << endl;

    return 0;
}
