/*
Cred : SunnyYeahBoi
It's my last chance (⌐■_■)
Problem :
*/
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define double long double
#define endl "\n"
#define NAME "a"
const int MAXN = 1e6 + 5;
const int inf = 1e18;
const int MOD = 1e9 + 7;
void FileInput(){
if(fopen(NAME".inp" , "r") == NULL)
freopen(NAME".inp" , "w" , stdout);
freopen(NAME".inp" , "r" , stdin);
freopen(NAME".out" , "w" , stdout);
}
int n , w;
int a[MAXN];
int b[MAXN];
int c[MAXN];
int count(){
map<int , int> cntC;
for(int i = 1 ; i <= n ; i++)
cntC[c[i]]++;
int res = 0;
for(int i = 1 ; i <= n ; i++)
for(int j = 1 ; j <= n ; j++)
if(a[i] == b[j])
res += cntC[a[i]];
return res;
}
void solve(){
cin >> n >> w;
for(int i = 1 ; i <= n ; i++)
cin >> a[i];
for(int i = 1 ; i <= n ; i++)
cin >> b[i];
for(int i = 1 ; i <= n ; i++)
cin >> c[i];
if(w == 1){
cout << count() << endl;
}else if(w == 2){
sort(a + 1 , a + 1 + n);
sort(b + 1 , b + 1 + n);
sort(c + 1 , c + 1 + n);
map<int , int> cntC;
for (int i = 1 ; i <= n ; i++)
cntC[c[i]]++;
int res = 0;
for(int i = 1 ; i <= n ; i++){
for(int j = 1 ; j <= n ; j++){
if(a[i] == b[j]){
int T2 = upper_bound(c + 1 , c + 1 + n , a[i] + b[j] - 1) - c - 1;
res += T2;
}else if(a[i] != b[j]){
// a = c
if(b[j] < 2 * a[i])
res += cntC[a[i]];
// b = c
if(a[i] < 2 * b[j])
res += cntC[b[j]];
}
}
}
cout << res << endl;
}else if(w == 3){
sort(c + 1 , c + 1 + n);
int res = 0;
for(int i = 1 ; i <= n ; i++)
for(int j = 1 ; j <= n ; j++){
int T2 = upper_bound(c + 1 , c + 1 + n , a[i] + b[j]) - c - 1;
int T1 = upper_bound(c + 1 , c + 1 + n , abs(a[i] - b[j])) - c;
res += T2 - T1 + 1;
}
cout << res << endl;
}
}
int32_t main(){
//FileInput();
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int t = 1;
// cin >> t;
while(t--)
solve();
return 0;
}
LyoKICAgIENyZWQgOiBTdW5ueVllYWhCb2kKICAgIEl0J3MgbXkgbGFzdCBjaGFuY2UgKOKMkOKWoF/ilqApCiAgICBQcm9ibGVtIDoKKi8KCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgZG91YmxlIGxvbmcgZG91YmxlCiNkZWZpbmUgZW5kbCAiXG4iCiNkZWZpbmUgTkFNRSAiYSIKCmNvbnN0IGludCBNQVhOID0gMWU2ICsgNTsKY29uc3QgaW50IGluZiA9IDFlMTg7CmNvbnN0IGludCBNT0QgPSAxZTkgKyA3OwoKdm9pZCBGaWxlSW5wdXQoKXsKICAgIGlmKGZvcGVuKE5BTUUiLmlucCIgLCAiciIpID09IE5VTEwpCiAgICAgICAgZnJlb3BlbihOQU1FIi5pbnAiICwgInciICwgc3Rkb3V0KTsKICAgIGZyZW9wZW4oTkFNRSIuaW5wIiAsICJyIiAsIHN0ZGluKTsKICAgIGZyZW9wZW4oTkFNRSIub3V0IiAsICJ3IiAsIHN0ZG91dCk7Cn0KCmludCBuICwgdzsKaW50IGFbTUFYTl07CmludCBiW01BWE5dOwppbnQgY1tNQVhOXTsKCmludCBjb3VudCgpewogICAgbWFwPGludCAsIGludD4gY250QzsKICAgICAgICBmb3IoaW50IGkgPSAxIDsgaSA8PSBuIDsgaSsrKQogICAgICAgICAgICBjbnRDW2NbaV1dKys7CiAgICAgICAgaW50IHJlcyA9IDA7CiAgICAgICAgZm9yKGludCBpID0gMSA7IGkgPD0gbiA7IGkrKykKICAgICAgICAgICAgZm9yKGludCBqID0gMSA7IGogPD0gbiA7IGorKykKICAgICAgICAgICAgICAgIGlmKGFbaV0gPT0gYltqXSkKICAgICAgICAgICAgICAgICAgICByZXMgKz0gY250Q1thW2ldXTsKICAgIHJldHVybiByZXM7IAp9Cgp2b2lkIHNvbHZlKCl7CiAgICBjaW4gPj4gbiA+PiB3OyAKCiAgICBmb3IoaW50IGkgPSAxIDsgaSA8PSBuIDsgaSsrKQogICAgICAgIGNpbiA+PiBhW2ldOwogICAgZm9yKGludCBpID0gMSA7IGkgPD0gbiA7IGkrKykKICAgICAgICBjaW4gPj4gYltpXTsKICAgIGZvcihpbnQgaSA9IDEgOyBpIDw9IG4gOyBpKyspCiAgICAgICAgY2luID4+IGNbaV07CgogICAgaWYodyA9PSAxKXsKICAgICAgICBjb3V0IDw8IGNvdW50KCkgPDwgZW5kbDsgICAgCiAgICB9ZWxzZSBpZih3ID09IDIpewogICAgICAgIHNvcnQoYSArIDEgLCBhICsgMSArIG4pOwogICAgICAgIHNvcnQoYiArIDEgLCBiICsgMSArIG4pOwogICAgICAgIHNvcnQoYyArIDEgLCBjICsgMSArIG4pOwogICAgICAgIG1hcDxpbnQgLCBpbnQ+IGNudEM7CiAgICAgICAgZm9yIChpbnQgaSA9IDEgOyBpIDw9IG4gOyBpKyspCiAgICAgICAgICAgIGNudENbY1tpXV0rKzsKCiAgICAgICAgaW50IHJlcyA9IDA7CiAgICAgICAgZm9yKGludCBpID0gMSA7IGkgPD0gbiA7IGkrKyl7CiAgICAgICAgICAgIGZvcihpbnQgaiA9IDEgOyBqIDw9IG4gOyBqKyspewogICAgICAgICAgICAgICAgaWYoYVtpXSA9PSBiW2pdKXsKICAgICAgICAgICAgICAgICAgICBpbnQgVDIgPSB1cHBlcl9ib3VuZChjICsgMSAsIGMgKyAxICsgbiAsIGFbaV0gKyBiW2pdIC0gMSkgLSBjIC0gMTsKICAgICAgICAgICAgICAgICAgICByZXMgKz0gVDI7CiAgICAgICAgICAgICAgICB9ZWxzZSBpZihhW2ldICE9IGJbal0pewogICAgICAgICAgICAgICAgICAgIC8vIGEgPSBjCiAgICAgICAgICAgICAgICAgICAgaWYoYltqXSA8IDIgKiBhW2ldKQogICAgICAgICAgICAgICAgICAgICAgICByZXMgKz0gY250Q1thW2ldXTsKICAgICAgICAgICAgICAgICAgICAvLyBiID0gYwogICAgICAgICAgICAgICAgICAgIGlmKGFbaV0gPCAyICogYltqXSkKICAgICAgICAgICAgICAgICAgICAgICAgcmVzICs9IGNudENbYltqXV07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGNvdXQgPDwgcmVzIDw8IGVuZGw7CiAgICB9ZWxzZSBpZih3ID09IDMpewogICAgICAgIHNvcnQoYyArIDEgLCBjICsgMSArIG4pOwogICAgICAgIGludCByZXMgPSAwOwogICAgICAgIGZvcihpbnQgaSA9IDEgOyBpIDw9IG4gOyBpKyspCiAgICAgICAgICAgIGZvcihpbnQgaiA9IDEgOyBqIDw9IG4gOyBqKyspewogICAgICAgICAgICAgICAgaW50IFQyID0gdXBwZXJfYm91bmQoYyArIDEgLCBjICsgMSArIG4gLCBhW2ldICsgYltqXSkgLSBjIC0gMTsKICAgICAgICAgICAgICAgIGludCBUMSA9IHVwcGVyX2JvdW5kKGMgKyAxICwgYyArIDEgKyBuICwgYWJzKGFbaV0gLSBiW2pdKSkgLSBjOwogICAgICAgICAgICAgICAgcmVzICs9IFQyIC0gVDEgKyAxOwogICAgICAgICAgICB9CiAgICAgICAgY291dCA8PCByZXMgPDwgZW5kbDsKICAgIH0KfQoKaW50MzJfdCBtYWluKCl7CiAgICAvL0ZpbGVJbnB1dCgpOwogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTtjaW4udGllKDApO2NvdXQudGllKDApOwogICAgaW50IHQgPSAxOwogICAgLy8gY2luID4+IHQ7CiAgICB3aGlsZSh0LS0pCiAgICAgICAgc29sdmUoKTsKICAgIHJldHVybiAwOwp9