#include <bits/stdc++.h>
using namespace std;
#define F(i,L,U) for((i)=(L);(i)<(U);(i)++)
#define FE(i,L,U) for((i)=(L);(i)<=(U);(i)++)
long L,nfood[4];
long food[4][3000];
// long memo[4][100000005];
long ways(int id, int rem){
if (rem < 0) return 0;
if (id == 4) return 1;
// if (memo[id][rem] != -1) return memo[id][rem];
long sum = 0;
int i;
F(i,0,nfood[id]){
sum += ways(id+1, rem - food[id][i]);
}
return sum;
// return memo[id][rem] = sum;
}
int main(){
int i, j;
while(scanf("%ld %ld %ld %ld %ld", &L, &nfood[0],&nfood[1], &nfood[2], &nfood[3]), (L||nfood[0]||nfood[1]||nfood[2]||nfood[3])){
// memset(memo, -1, sizeof memo);
F(i,0,4){
F(j,0,nfood[i]){
scanf("%ld", &food[i][j]);
}
}
printf("%ld\n", ways(0,L));
}
return 0;
}Diff to submission s459