#include <iostream>
#include <cstdlib>

using namespace std;

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

int main(){
	int lunch, soup, meal, dish, beverage;
	while(cin >> lunch >> soup >> meal >> dish >> beverage){
		if(lunch == 0){
			break;
		}

		int * soups = new int[soup];
		int * meals = new int[meal];
		int * dishes = new int[dish];
		int * beverages = new int[beverage];

		int buff;
		int sMinus = 0;
		for(int i=0; i<soup; i++){
			cin >> buff;
			if(buff > lunch - 3){
				sMinus++;
			} else {
				soups[i-sMinus] = buff;
			}
		}

		int mMinus = 0;
		for(int i=0; i<meal; i++){
			cin >> buff;
			if(buff > lunch - 3){
				mMinus++;
			} else {
				meals[i-mMinus] = buff;
			}
		}

		int dMinus = 0;
		for(int i=0; i<dish; i++){
			cin >> buff;
			if(buff > lunch - 3){
				dMinus++;
			} else {
				dishes[i-dMinus] = buff;
			}
		}

		int bMinus = 0;
		for(int i=0; i<beverage; i++){
			cin >> buff;
			if(buff > lunch - 3){
				bMinus++;
			} else {
				beverages[i-bMinus] = buff;
			}
		}

		soup -= sMinus;
		meal -= mMinus;
		dish -= dMinus;
		beverage -= bMinus;

		qsort(soups, soup, sizeof(int), puff);
		qsort(meals, meal, sizeof(int), puff);
		qsort(dishes, dish, sizeof(int), puff);
		qsort(beverages, beverage, sizeof(int), puff);

/*
		for(int i=0; i<soup; i++)
			cout << soups[i];
			cout << endl;

		for(int i=0; i<meal; i++)
			cout << meals[i];
cout << endl;

		for(int i=0; i<dish; i++)
			cout << dishes[i];
cout << endl;

		for(int i=0; i<beverage; i++)
			cout << beverages[i];
*/

		unsigned long result = 0UL;		
		
		for(int b=0; b<beverage; b++){
			if(beverages[b] + soups[0] + meals[0] + dishes[0] > lunch)
				break;

			for(int s=0; s<soup; s++){
				if(beverages[b] + soups[s] + meals[0] + dishes[0] > lunch)
							break;

				for(int m=0; m<meal; m++){
					if(beverages[b] + soups[s] + meals[m] + dishes[0] > lunch)
							break;

					for(int d=0; d<dish; d++){
						if(beverages[b] + soups[s] + meals[m] + dishes[d] <= lunch)
							result++;
						else
							break;
					}
				}
			}
		}

		cout << result << endl;		
	}
	return 0;
}