G: Working

Kou decided to do the same number of jobs every day for the next $ N $.

$ A_i $ jobs are added on the $ i $ day of the $ N $ day.

Mr. Kou has no work to do now, and he doesn't have to finish all the work by the $ N $ day.

How many jobs can you do in a day?

However, Mr. Kou is excellent, so he can do as many jobs as he has.

input

$ N $ is given on the first line.

On the second line, $ N $ integers $ A_1, A_2, A_3, \ dots, A_N $ are given, separated by blanks.

output

Output the maximum number of jobs you can do in a day. Insert a line break at the end.

Constraint

* $ N $ is an integer greater than or equal to $ 1 $ and less than or equal to $ 100 $
* $ A_1, A_2, A_3, \ dots, A_N $ are integers between $ 1 $ and $ 100 $



Input example 1


Five
4 2 5 3 1


Output example 1


3


If you decide to work more than $ 4 $ a day, you'll run out of work on the second day.

Input example 2


Five
9 9 1 9 9


Output example 2


6






Example

Input

5
4 2 5 3 1


Output

3
#include "bits/stdc++.h"

using namespace std;
using ll=long long;
using ull=unsigned long long;

typedef pair<int,int>Pi;
typedef pair<long long,long long>P;
typedef pair<long long,P>PP;
typedef pair<P,P>PPP;

const long long MOD=1e9+7;
const long long INF=5e18;
const int di[4]={1,0,-1,0};
const int dj[4]={0,1,0,-1};

#define fr first
#define sc second
#define pb push_back
#define eb emplace_back
#define ALL(x) (x).begin(),(x).end()
#define ALLR(x) (x).rbegin(),(x).rend()
#define double long double

int n,a[110];

bool check(int s){
	int now=0;
	for(int i=0;i<n;i++){
		now+=a[i];
		if(now-s<0)return false;
		now-=s;
	}
	return true;
}

void input(){
	cin>>n;
	for(int i=0;i<n;i++)cin>>a[i];
	return;
}

void solve(){
	for(int j=100;j>=1;j--){
		if(check(j)){
			cout<<j<<endl;
			return;
		}
	}
	return;
}

int main(){
	input();
	solve();
	return 0;
}
