#include <stdio.h>
#include <stdlib.h>

int comp(const void* a, const void* b)
{
    int arg1 = *(const int*)a;
    int arg2 = *(const int*)b;
 
    if (arg1 < arg2) return -1;
    if (arg1 > arg2) return 1;
    return 0;

}
int s[2000],m[2000],d[2000],b[2000];

int main()
{
int L,S,M,D,B;
int i,j,k,l;
int sum = 0;
while(1){
scanf("%d %d %d %d %d",&L,&S,&M,&D,&B);
if ((L == 0) && (S == 0) && (M == 0) && (D == 0) && (B == 0)) return 0;
for (i = 0; i<S;i++){
scanf("%d",&s[i]);
}
for (i = 0; i<M;i++){
scanf("%d",&m[i]);
}
for (i = 0; i<D;i++){
scanf("%d",&d[i]);
}
for (i = 0; i<B;i++){
scanf("%d",&b[i]);
}
sum=0;
//qsort(s,S,sizeof(int),comp);
//qsort(m,M,sizeof(int),comp);
//qsort(d,D,sizeof(int),comp);
//qsort(b,B,sizeof(int),comp);
for (i = 0; i<S;i++){
//if (s[i] >= L) break;
for (j = 0; j<M;j++){
//if ((s[i] + m[j]) >= L) break;
for (k = 0; k<D;k++){
//if ((s[i] + m[j] + d[k]) >= L) break;
for (l = 0; l<B;l++){
if((s[i] + m[j] + d[k] + b[l])<=L)
sum++;
//else
//break;
}}}}


printf("%d\n",sum);
}






return 0;

}