import java.io.*;
import java.util.*;

public class ss {
	public static BufferedReader in = new BufferedReader( new InputStreamReader(System.in));
	public static StringTokenizer st;

	public static int readInt() throws Exception {
		while(!st.hasMoreTokens()) st = new StringTokenizer( in.readLine());
		return Integer.parseInt(st.nextToken());
	}
	                              

	public static void main(String [] args) throws Exception {
		while(true){
			st = new StringTokenizer( in.readLine());
			int D = readInt();
			if(D==0) break;

			int M = readInt();		

			long profit = 0;

			st = new StringTokenizer( in.readLine());

			int [] p = new int[D];
			for(int i=0; i<D; i++){
				p[i] = readInt();
			}
			for(int j=0; j<D; j++){
				if(p[j] > M) continue;
				for(int k=j+1; k<D; k++){
					if( p[k] <= p[j] ) continue;
					long tmp = (M/p[j]*p[k]) - (M/p[j]*p[j]);
					//System.out.println("jk" + p[j] + " " + p[k]);
					//System.out.println("tmp" + tmp);
					profit = profit>=tmp ? profit : tmp;
				}
			}
			System.out.println( profit>0 ? profit : 0);
		}
	}
}
