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

using namespace std;

int main()
{
    int price;
    int numOfS[4];
    int collections[4][2000];
    int counters[4];
    int stack[4];
    while(scanf("%d%d%d%d%d",&price,&numOfS[0],&numOfS[1],&numOfS[2],&numOfS[3])!=EOF)
    {
        if(price==0&&numOfS[0]==0&&numOfS[1]==0&&numOfS[2]==0&&numOfS[3]==0)
        {
            return 0;
        }
        memset(collections,0,sizeof(int)*2000*4);
        memset(counters,0,sizeof(int)*4);
        memset(stack,0,sizeof(int)*4);
        for(int i=0; i<4; i++)
        {
            for(int k=0; k<numOfS[i]; k++)
            {
                scanf("%d",&collections[i][k]);
            }
        }
        int curPrice=0;
        int i=0;
        int result=0;
        while(counters[0]<numOfS[0])
        {
            if(counters[i]<numOfS[i])
            {
                curPrice+=collections[i][counters[i]];
                stack[i]=collections[i][counters[i]];
                counters[i]++;
                i++;
                if(i>=4&&curPrice<=price)
                {
                    result++;
                }
                if(i>=4)
                {
                    i--;
                    curPrice-=stack[i];
                }
            }
            else
            {
                counters[i]=0;
                i--;
                curPrice-=stack[i];
            }
        }
        printf("%d\n",result);
    }
    return 0;
}