#include <bits/stdc++.h>
using namespace std;
using namespace chrono;
long long mod = (1e9 + 7);
long long fac(long long n) {
  if (n == 0) {
    return 1;
  }
  long long ans = 1;
  for (int i = n; i >= 1; i--) {
    ans *= i % mod;
  }
  return ans % mod;
}
long long ncr(long long n, long long r) {
  long long ans = fac(n) / (fac(n - r));
  return ans % mod;
}
long long sum(long long n) {
  long long m = 0;
  while (n) {
    m += n % 10;
    n /= 10;
  }
  return m;
}
long long pow(long long a, long long b) {
  if (b == 0) {
    return 1;
  }
  long long c = pow(a, b / 2);
  long long ans = ((c * c)) % mod;
  if (b % 2) ans = ((ans * a)) % mod;
  return ans;
}
void solve() {
  long long n;
  cin >> n;
  long long a[n];
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  long long s = 0, ans = 0, p;
  vector<long long> v, v1;
  for (int i = 0; i < n; i++) {
    s = a[i];
    p = a[i];
    v.clear();
    v.push_back(a[i]);
    for (int j = i + 1; j < n; j++) {
      if (a[j] > p) {
        s += p;
        v.push_back(p);
      } else {
        p = a[j];
        s += p;
        v.push_back(a[j]);
      }
    }
    p = a[i];
    for (int j = i - 1; j >= 0; j--) {
      if (a[j] > p) {
        s += p;
        v.insert(v.begin(), p);
      } else {
        p = a[j];
        s += p;
        v.insert(v.begin(), a[j]);
      }
    }
    ans = max(s, ans);
    if (ans == s) {
      v1 = v;
    }
  }
  for (auto i : v1) {
    cout << i << " ";
  }
  cout << "\n";
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long t;
  t = 1;
  while (t--) {
    solve();
  }
  return 0;
}
