1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <cstdio>


long long int rek(long long int a, int k, long long int *t, long long mnoz){
	long long int max=mnoz;
	long long int tmp=1;
	for(int i=0; i < k; ++i){
		if(a >= t[i]){
			tmp=rek(a/t[i],k,t,t[i]*mnoz);
		}
		if(tmp > max) max=tmp;
	}
	return max;
}

int main(){
	long long int n,x;
	int k;
	scanf("%d %lld", &k, &n);
	long long int t[k];
	for(int i=0; i < k; ++i){
		scanf("%lld", &x);
		t[i]=x;
	}
	long long int max=rek(n,k,t,1);
	printf("%lld", max);
}