<pre>import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;


public class Lunch {

	private static long kombinace = 0;
	private static int[] soups;
	private static int[] dish;
	private static int[] dess;
	private static int[] bev;
	public static void main(String[] args) throws IOException {
		
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		
		String line = &quot;&quot;;

		while(!(line = in.readLine()).equals(&quot;0 0 0 0 0&quot;)) {
			String[] arr = line.split(&quot; &quot;);
			int lunchMoney = Integer.parseInt(arr[0]);
			int nrSoups = Integer.parseInt(arr[1]);
			int nrMain = Integer.parseInt(arr[2]);
			int nrDesser = Integer.parseInt(arr[3]);
			int nrBew = Integer.parseInt(arr[4]);
			
			line = in.readLine();
			arr = line.split(&quot; &quot;);
			soups = new int[nrSoups];
			for (int i = 0; i &lt; nrSoups; i++)
			{
				soups[i] = Integer.parseInt(arr[i]);
			}
			line = in.readLine();
			arr = line.split(&quot; &quot;);
			dish = new int[nrMain];
			for (int i = 0; i &lt; nrMain; i++)
			{
				dish[i] = Integer.parseInt(arr[i]);
			}
			line = in.readLine();
			arr = line.split(&quot; &quot;);
			dess = new int[nrDesser];
			for (int i = 0; i &lt; nrDesser; i++)
			{
				dess[i] = Integer.parseInt(arr[i]);
			}
			line = in.readLine();
			arr = line.split(&quot; &quot;);
			bev = new int[nrBew];
			for (int i = 0; i &lt; nrBew; i++)
			{
				bev[i] = Integer.parseInt(arr[i]);
			}
			ZkusS(lunchMoney);
			System.out.println(kombinace);
			in.readLine();
		}
	}
	
	public static void ZkusS(int lm)
	{
		for (int i = 0; i &lt; soups.length; i++)
			if (soups[i] &lt; lm)
				ZkusM(lm - soups[i]);
	}
	public static void ZkusM(int lm)
	{
		for (int i = 0; i &lt; dish.length; i++)
			if (dish[i] &lt; lm)
				ZkusD(lm - dish[i]);
	}
	public static void ZkusD(int lm)
	{
		for (int i = 0; i &lt; dess.length; i++)
			if (dess[i] &lt; lm)
				ZkusB(lm - dess[i]);
	}
	public static void ZkusB(int lm)
	{
		for (int i = 0; i &lt; bev.length; i++)
			if (bev[i] &lt;= lm)
			{
				kombinace++;
			}
	}
}
</pre>
