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;
#define rep(i,n) for(int i=0;i<n;i++)
#define MOD 1000000007
typedef long long ll;
typedef pair<int,int> P;
#define int long long
#define All(v) (v.begin(),v.end())
int gcd(int a, int b) {
	if (b == 0)return a;
	return gcd(b, a%b);
}
int lcm(int a, int b) {
	return a / gcd(a, b)*b;
}
int modpow(int a,int b){
    if(!b)return 1;
    if(b%2)return modpow(a,b-1)*a%MOD;
    return modpow(a,b/2)*modpow(a,b/2)%MOD;
}
int fac(int a){
    int Ans=1;
    for(int i=1;i<=a;i++){
        Ans*=i;
        Ans%=MOD;
    }
    return Ans;
}//kaijo
int comb(int a,int b){
    return fac(a)*modpow(fac(a-b),MOD-2)%MOD*modpow(fac(b),MOD-2)%MOD;
}
signed main(){
	int n;
	int a[110];
	cin>>n;
	int sum=0;
	int ans=100000;
	rep(i,n){
		cin>>a[i];
		sum+=a[i];
		ans=min(ans,sum/(i+1));
	}
	cout<<ans<<endl;
	return 0;
}


