/*
TASK:NUMBER
LANG:C
*/

#include <stdio.h>

int n,d1,d2,d3;

unsigned long int m;

long int my_pow(int base, int exp) {
	int start = base;
	while (exp-- > 2) {
		start *= base;
	}
	return start;
}

int n_2zifri (long int chislo, int zifri, int zifra) {
	int i = 1;
	while (i < zifri-zifra) {
		chislo /= 10;
		i++;
	}
	if (chislo%10 != 0 && (chislo/10)%10 != 0) {
		return chislo%100;
	} else {
		return -1;
	}
}

int se_deli (int chislo) {
	if (chislo%d1 == 0 || chislo%d2 == 0 || chislo%d3 == 0) return 1;
	return 0;
}

int main () {
	m = 0;
	int k;
	scanf("%i %i %i %i", &n, &d1, &d2, &d3);
	//
	unsigned long int j;
	int se_deli_var;
	unsigned long int i = my_pow(10, n);
	unsigned long int end = my_pow(10, n+1);
	while (i < end) {
		se_deli_var = 1;
		j = 1;
		while (j < n) {
			k = n_2zifri(i, n, j);
			if (k == -1 || !se_deli(k)) {
				se_deli_var = 0;
				break;
			}
			j++;
		}
		if (se_deli_var) {
			m++;
		}
		i++;
	}
	printf("%li\n", m);
	return 0;
}
