N,K=map(int,input().split()) ans=0 A=list(map(int,input().split())) dp=[[0 for j in range(N)] for i in range(2**N)] dp[0]=[K for i in range(N)] for i in range(1,2**N): cnt=0 P=i Q=i while Q: if Q&1: for k in range(N): dp[P][cnt]=max(dp[P][cnt],dp[P^2**cnt][k]%A[cnt]) cnt+=1 Q>>=1 ans=max(dp[-1]) print(ans)