using System;
using System.Collections;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Threading.Tasks;

class Program
{
	static int N;
	static long[] An;
	static long ans;

	//Main
	static void Main(string[] args)
	{
		//出力準備（AutoFlushを切る）
		var sw = new StreamWriter(Console.OpenStandardOutput()){AutoFlush = false};
		Console.SetOut(sw);
		//解答
		Solve();
		//出力終了
		Console.Out.Flush();
	}

	//貪欲な全探索
	//得するところで一気に買うor売るのが、結局は最適解の一つになる
	static void Search(int cnt, long money, long stock){
		//全通りみた場合、ansを更新
		if(cnt == N){
			if(ans < money){
				ans = money;
			}
		}
		//まだの場合、再帰
		else{
			//1. 何もしない場合
			Search(cnt+1, money, stock);

			//2. 買えるだけ買う場合
			long money2 = money % An[cnt];
			long stock2 = money / An[cnt];
			Search(cnt+1, money2, stock2);

			//3. 売れるだけ売る場合
			long money3 = money + An[cnt]*stock;
			long stock3 = 0;
			Search(cnt+1, money3, stock3);
		}
	}

	static void Solve(){
		//読み込む
		N = int.Parse(Console.ReadLine());
		An = Console.ReadLine().Split(' ').Select(i => long.Parse(i)).ToArray();

		//探索開始
		Search(0,1000,0);

		Console.WriteLine(ans);
	}
}

