#include <bits/stdc++.h>
#define IOS ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
void right_max(vector<int>& arr, int idx) {
if (idx < 0) return;
arr[idx] = (idx == arr.size()-1) ? arr[idx] : max(arr[idx + 1],arr[idx]);
right_max(arr, idx - 1);
}
void solve() {
vector<int> arr = {1,8,2,10,3};
right_max(arr,arr.size()-1);
for (auto &i : arr) cout << i << " ";
}
int main() {
IOS;
solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgSU9TIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTtjb3V0LnRpZSgwKTsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgcmlnaHRfbWF4KHZlY3RvcjxpbnQ+JiBhcnIsIGludCBpZHgpIHsKICAgIGlmIChpZHggPCAwKSByZXR1cm47CiAgICBhcnJbaWR4XSA9IChpZHggPT0gYXJyLnNpemUoKS0xKSA/IGFycltpZHhdIDogbWF4KGFycltpZHggKyAxXSxhcnJbaWR4XSk7CiAgICByaWdodF9tYXgoYXJyLCBpZHggLSAxKTsKfQoKdm9pZCBzb2x2ZSgpIHsKICAgIHZlY3RvcjxpbnQ+IGFyciA9IHsxLDgsMiwxMCwzfTsKICAgIHJpZ2h0X21heChhcnIsYXJyLnNpemUoKS0xKTsKICAgIGZvciAoYXV0byAmaSA6IGFycikgY291dCA8PCBpIDw8ICIgIjsKfQoKaW50IG1haW4oKSB7CiAgICBJT1M7CiAgICBzb2x2ZSgpOwogICAgcmV0dXJuIDA7Cn0=