import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author cteam069
 */
public class Lunch {

    static Pattern FIRST_NUM = Pattern.compile("\\b(\\d+)\\b");

    public static void main(String[] args) throws IOException {

        BufferedReader r = new BufferedReader(new InputStreamReader(System.in));

        while (true) {
            LunchPos lunch = readLunch(r);
            if (lunch == null) {
                return;
            }

            System.out.println(calcLunch(lunch));

        }

    }

    private static int calcLunch(LunchPos lunch) {
        int pos = 0;
        for (int soup = 0; soup < lunch.getSoup().size(); soup++) {
            int priceSoup = lunch.getSoup().get(soup);
            if (priceSoup > lunch.max) {
                break;
            }
            for (int meal = 0; meal < lunch.getMeal().size(); meal++) {
                int priceMeal = lunch.getMeal().get(meal);
                if (priceSoup+priceMeal > lunch.max) {
                    break;
                }
                for (int dessert = 0; dessert < lunch.getDessert().size(); dessert++) {
                    int priceDessert = lunch.getDessert().get(dessert);
                    if (priceSoup + priceMeal + priceDessert > lunch.max) {
                        break;
                    }
                    for (int beverage = 0; beverage < lunch.getBeverage().size(); beverage++) {
                        int priceBeverage = lunch.getBeverage().get(beverage);
                        if (priceSoup + priceMeal + priceDessert + priceBeverage > lunch.max) {
                            break;
                        }
                        pos++;
                    }
                }
            }
        }
        return pos;
    }

    private static LunchPos readLunch(BufferedReader r) throws IOException {
        String base = r.readLine();

        if (base.equals("0 0 0 0 0")) {
            return null;
        }
        Matcher m = FIRST_NUM.matcher(base);
        m.find();
        int max = Integer.parseInt(m.group(1));

        String soup = r.readLine();
        String meal = r.readLine();
        String dessert = r.readLine();
        String beverage = r.readLine();
        String emptyline = r.readLine();

        return new LunchPos(max,
                findInts(soup),
                findInts(meal),
                findInts(dessert),
                findInts(beverage)
        );

    }

    private static List<Integer> findInts(String in) {
        List<Integer> ints = new ArrayList<>();
        Matcher m = FIRST_NUM.matcher(in);
        while (m.find()) {
            ints.add(Integer.parseInt(m.group(1)));
        }

        return ints;
    }

    private static class LunchPos {

        private int max;
        private List<Integer> soup;
        private List<Integer> meal;
        private List<Integer> dessert;
        private List<Integer> beverage;

        public LunchPos(int max, List<Integer> soup, List<Integer> meal, List<Integer> dessert, List<Integer> beverage) {
            this.max = max;
            this.soup = soup;
            this.meal = meal;
            this.dessert = dessert;
            this.beverage = beverage;
            Collections.sort(this.soup);
            Collections.sort(this.meal);
            Collections.sort(this.dessert);
            Collections.sort(this.beverage);
        }

        public int getMax() {
            return max;
        }

        public List<Integer> getSoup() {
            return soup;
        }

        public List<Integer> getMeal() {
            return meal;
        }

        public List<Integer> getDessert() {
            return dessert;
        }

        public List<Integer> getBeverage() {
            return beverage;
        }

        @Override
        public String toString() {
            return "LunchPos{" + "max=" + max + ", soup=" + soup + ", meal=" + meal + ", dessert=" + dessert + ", beverage=" + beverage + '}';
        }

    }

}