#include<iostream>
#include<queue>
using namespace std;

int d,m,x;
vector<int> D;
vector<int> P;
vector<int> MAXX;

int main(){
    d = 1;
    while(d>0){
    	P.clear();
    	D.clear();
    	MAXX.clear();
        cin >> d;
        if(d==0)return 0;
        cin >> m;
        for(int i=0;i<d;i++){
            cin >> x;
            D.push_back(x);
            MAXX.push_back(0);
        }
        for(int i=0;i<d;i++){
        	P.push_back(m/D[i]);
        }
        int mm=0;
        for(int i=d-1;i>=0;i--){
        	if(D[i]>mm)mm=D[i];
        	MAXX[i] = mm;
        }
        
        int mmm=0;
        int mmmi=-1;
        for(int i=0;i<d;i++){
        	if(P[i]*MAXX[i] > mmm){
        		mmm=P[i]*MAXX[i];
        		mmmi = i;
        	}
        }
        if(mmmi!=-1){
        	cout << P[mmmi]*MAXX[mmmi]-P[mmmi]*D[mmmi]<< endl;
        }else cout << "0\n";
    }
    return 0;
}
