#include<stdio.h>
void su(int **cai,int *caicount,int sum,int min,int max,int *count)
{
int s[2]={sum,sum};
for (int i = 0; i < caicount[4]; i++)
{
sum=s[0];
sum+=cai[4][i];
if (sum>max)continue;
if(sum>=min)
{
(*count)++;
}
s[1]=sum;
for (int j = 0; j < caicount[4]; j++)
{
if (i!=j)
{
sum=s[1];
sum+=cai[4][j];
if (sum>max)continue;
if(sum>=min)
{
(*count)++;
}
}
}
}
}
void hun(int **cai,int *caicount,int sum,int min,int max,int *count)
{
int h[2]={sum,sum};
for (int i = 0; i < caicount[3]; i++)
{
sum=h[0];
sum+=cai[3][i];
if (sum>max)continue;
h[1]=sum;
su(cai,caicount,sum,min,max,count);
for (int j = 0; j < caicount[3]; j++)
{
if (i!=j)
{
sum=h[1];
sum+=cai[3][j];
if (sum>max)continue;
su(cai,caicount,sum,min,max,count);
}
}
}
}
void tangandmifan(int **cai,int *caicount,int sum,int min,int max,int *count)
{
for (int i= 0; i < caicount[0]; i++)
{
for (int j = 0;j < caicount[1];j++)
{
sum=0;
sum+=cai[0][i]+cai[1][j];
if (sum>max)continue;
hun(cai,caicount,sum,min,max,count);
}
}
}
int main()
{
int i,t,a,b,c,d,e,j,min,max,m,n,p,q,g,q1,g1;
scanf("%d",&t);
int num=0,sum=0,count=0;
scanf("%d %d %d %d %d",&a,&b,&c,&d,&e);
int *A=new int[a],*B=new int[b],*C=new int[c],*D=new int[d],*E=new int[e],*cai[5]={A,B,C,D,E},caicount[5]={a,b,c,d,e};
for(j=0;j<a;j++)
scanf("%d",&A[j]);
for(j=0;j<b;j++)
scanf("%d",&B[j]);
for(j=0;j<c;j++)
scanf("%d",&C[j]);
for(j=0;j<d;j++)
scanf("%d",&D[j]);
for(j=0;j<e;j++)
scanf("%d",&E[j]);
scanf("%d %d",&min,&max);
tangandmifan(cai,caicount,sum,min,max,&count);
for (i = 0; i < caicount[2]; i++)
{
sum=cai[2][i];
if (sum>max)continue;
hun(cai,caicount,sum,min,max,&count);
}
printf("%d",count);
for (i = 0; i < 5; i++)
{
delete[] cai[i];
}
return 0;
}