#include typedef long long int lld; lld cisla[70010]; lld deleni[70010]; lld soucty[70010]; lld maxima[70010]; lld t[70010]; int main(void) { lld a,b,c,e,j,k,m, max; long long int i, d; scanf("%lld", &d); //printf("%lld\n\n", d); while(d != 0) { scanf("%lld", &m); for( i = 0; i < d; i++) { scanf("%lld", &(cisla[i])); //printf("loaded %lld\n", cisla[i]); deleni[i] = m / cisla[i]; soucty[i] = cisla[i] * deleni[i]; } max = cisla[d-1]; for( i = d-1; i >= 0; i--) { //printf("%lld\n", i); if(cisla[i] > max) { max = cisla[i]; } maxima[i] = max; } max = (deleni[0] * maxima[0]) - soucty[0]; if( max < 0 ) max = 0; for( i = 0; i < d; i++) { //printf("%lld", i); k = (deleni[i] * maxima[i]) - soucty[i]; if( k > max && k > 0) { max = k; } } printf("%lld\n", max); scanf("%lld", &d); //printf("loaded %lld\n", d); } }