#include <iostream>
#include <algorithm>

using namespace std;

int a, b, n, ans, ans2;

struct A {
  int a, b, num;
}Ans[10001];

bool C (A a, A b) {
  return a.a < b.a;
}

bool D (A a, A b) {
  return a.b < b.b;
}

int main () {
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> Ans[i].a >> Ans[i].b;
    Ans[i].num = i;
  }
  sort (Ans, Ans + n, C);
  ans = Ans[0].a;
  ans2 = Ans[1].a;
  int s = Ans[0].num;
  sort (Ans, Ans + n, D);
  if (s == Ans[0].num) {
    cout << min (ans + Ans[0].b, min (max (ans, Ans[1].b), max (ans2, Ans[0].b))) << endl;
  }
  else {
    cout << max(ans, Ans[0].b);
  }
  return 0;
}
#include <bits/stdc++.h>
using namespace std;
const int N=1e6+5;
long long arr[N];

int solve()
{
    long long n, mn=LLONG_MAX;
    cin>>n;
    set<long long>st;
    for(int i=0;i<n;i++) {
        cin >> arr[i];
        st.insert(arr[i]);
        mn = min(mn, arr[i]);
    }
    long long ans=mn*n;
    for(auto j=st.begin();j!=st.end();j++)
    {
        long long curan=0;
        for(int i=0;i<n;i++)
        {
            if(arr[i]>=*j)
                curan+=*j;
            else
                curan = 0;
            ans=max(ans,curan);
        }

        curan=0;

    }
   cout<<ans;

    return 0;
}

int main()
{

#ifndef ONLINE_JUDGE
    freopen("input.txt" ,"r" ,stdin);
    freopen("output.txt" ,"w" ,stdout);
#endif

    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

 //   int t;
  //  cin>>t;
  //  while(t--)
        solve();

    return 0;
}