#include <bits/stdc++.h>
using namespace std;
long long N;
vector<long long> A(80);
int zenkai(int sisan, int temoti, int motikabu, int day) {
  int kaerumax = temoti / A.at(day);
  int kabuka = 0;
  for (int i = day + 1; i < N; i++)
    if (kabuka < A.at(i)) {
      kabuka = A.at(i);
    }
  if (kaerumax >= 1) {
    temoti -= kaerumax * A.at(day);
    motikabu += kaerumax;
    sisan -= kaerumax * A.at(day);
    sisan += kaerumax * kabuka;
  }
  return sisan;
}
int zenuri(int sisan, int temoti, int motikabu, int day) {
  int urimax = motikabu;
  int kabuka = 0;
  for (int i = day + 1; i < N; i++)
    if (kabuka < A.at(i)) {
      kabuka = A.at(i);
    }
  if (urimax >= 1) {
    temoti += urimax * A.at(day);
    motikabu -= urimax;
    sisan += urimax * A.at(day);
    sisan -= urimax * kabuka;
  }
  return sisan;
}
int nanimo(int sisan) { return sisan; }
int main() {
  cin >> N;
  long long sisan = 1000;
  long long temoti = 1000;
  long long motikabu = 0;
  for (long long i = 0; i < N; i++) cin >> A.at(i);
  for (long long i = 0; i < N; i++) {
    int stmp = sisan;
    int ttmp = temoti;
    int mtmp = motikabu;
    sisan = max(max(zenkai(stmp, ttmp, mtmp, i), zenuri(stmp, ttmp, mtmp, i)),
                nanimo(stmp));
    if (sisan == zenkai(stmp, ttmp, mtmp, i)) {
      int kaerumax = temoti / A.at(i);
      int kabuka = 0;
      for (int j = i + 1; j < N; j++)
        if (kabuka < A.at(i)) {
          kabuka = A.at(i);
        }
      temoti -= kaerumax * A.at(i);
      motikabu += kaerumax;
      sisan -= kaerumax * A.at(i);
      sisan += kaerumax * kabuka;
    } else if (sisan == zenuri(stmp, ttmp, mtmp, i)) {
      int urimax = motikabu;
      int kabuka = 0;
      for (int j = i + 1; j < N; j++)
        if (kabuka < A.at(i)) {
          kabuka = A.at(i);
        }
      temoti += urimax * A.at(i);
      motikabu -= urimax;
      sisan += urimax * A.at(i);
      sisan -= urimax * kabuka;
    }
  }
  cout << temoti;
}
