/*
TASK: number
LANG: C++
*/

# include <stdio.h>
# include <stdlib.h>
# define MAXNUM (10002)

int n,d1,d2,d3,values[32],br;

int cmp(const void *e1, const void *e2) {
    return (*(int*)e1 - *(int*)e2);

}

void read() {
    scanf("%d %d %d %d", &n, &d1, &d2, &d3);
    br = 0;
    for(int i = 1; i <= 9; i++) {

         if(d1*i < 100) values[br++] = d1*i;
         if(d2*i < 100) values[br++] = d2*i;
         if(d3*i < 100) values[br++] = d3*i;
    }
    qsort(values,br,sizeof(int),cmp);
    // for(int i = 0; i < br; i++) printf("%d ", values[i]);
}

int solve() {
   int rslt = 0;
   for(int i = 0; i < br; i++) {
        int count = 1;
        int queue[MAXNUM],start=0,end,level;
        queue[0] = values[i]%10;
        end = 1;
        level = 1;
        while(end > start) {
             int len = 0;
             for(int k = start; k < level; k++) {
                for(int j = 0; j < br; j++) {
                    if(values[j]/10 == queue[k]) {
                        queue[end++] = values[j]%10;
                        len++;
                    }

                }

             }
             start = level;
             level = end;
             count++;
              if(count == n-1) {
                //printf("len = %d\n", len);
                rslt+=len;
                break;
              }
        }
   }
   return rslt;

}


int main() {
   read();
   if( n == 2 ) printf("%d\n", br);
   else printf("%d\n",solve());
   
return 0;
}

