#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <vector>
#include <functional>
#include <algorithm>

using namespace std;

int main()
{
	int money, n1, n2, n3, n4;
	
	while(scanf(" %d %d %d %d %d", &money, &n1, &n2, &n3, &n4) == 5)
	{
		if(money == 0 && n1 == 0 && n2 == 0 && n3 == 0 && n4 == 0) break;
		
		vector<int> s1, s2, s3, s4;
		
		for(int i = 0; i < n1; i++)
		{
			int price;
			scanf(" %d", &price);
			s1.push_back(price);
		}
		
		for(int i = 0; i < n2; i++)
		{
			int price;
			scanf(" %d", &price);
			s2.push_back(price);
		}
		
		for(int i = 0; i < n3; i++)
		{
			int price;
			scanf(" %d", &price);
			s3.push_back(price);
		}
		
		for(int i = 0; i < n4; i++)
		{
			int price;
			scanf(" %d", &price);
			s4.push_back(price);
		}
		
		sort(s1.begin(), s1.end());
		sort(s2.begin(), s2.end());
		sort(s3.begin(), s3.end());
		sort(s4.begin(), s4.end());
		
		int countAll = 0;
		for(uint i = 0; i < s1.size(); i++){
			if (money < s1[i]) break;
			for (uint j = 0; j < s2.size(); j++){
				if (money < s1[i] + s2[j]) break;
				for (uint k = 0; k < s3.size(); k++){
					if (money < s1[i] + s2[j] + s3[k]) break;
					int countLess = (int)(upper_bound(s4.begin(), s4.end(), money - s1[i] - s2[j] - s3[k]) - s4.begin());
					countAll += countLess;
				}
			}
		}
		
		printf("%d\n", countAll);
	}

	return 0;
}