#include<bits/stdc++.h>
using namespace std;
long long n,p,a[1000],b[1000],c[1000],d[1000],cnt;
vector<long long>v1,v2;
int main(){
	cin>>n>>p;
	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*n;i++){v1.emplace_back(a[i/n]+b[i%n]);v2.emplace_back(c[i/n]+d[i%n]);}
	sort(v2.begin(),v2.end());
	for(int i=0;i<(int)v1.size();i++){  
		long long pos1=lower_bound(v2.begin(),v2.end(),p-v1[i])-v2.begin();
		long long pos2=lower_bound(v2.begin(),v2.end(),p-v1[i]+1)-v2.begin();
		cnt+=(pos2-pos1);
	}
	cout<<cnt<<endl;
	return 0;
}