{
TASK:number
LANG:PASCAL
}
program number;
var
  mas:array[1..99] of integer;
  num:array[0..9] of integer;
  n,d1,d2,d3,i,j,k,ans:integer;
procedure DFS(cur,level:integer);
begin
 if level=n then
  inc(ans);
 if (level<n) and (num[cur mod 10]>0) then
 begin
  for j:=1 to k do
   if (mas[j] div 10)=(cur mod 10) then
    DFS(mas[j],level+1);
 end;
end;
begin
   readln(n,d1,d2,d3);
   for i:=d1 to 99 do
    if (i mod d1=0) or (i mod d2=0) or (i mod d3=0) then
    begin
     inc(k);
     mas[k]:=i;
     inc(num[i div 10]);
    end;
   ans:=0;
   for i:=1 to k do
    DFS(mas[i],2);
   writeln(ans);
   readln
end.