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<iostream> 
#include<string> 
#include<vector> 
#include<algorithm> 
using namespace std; 
int main()
{
	int n;
	cin >> n;
	vector<int> a(n);
	vector<int> b(n);
	for (int i = 0; i < n; i++)
	{
		cin >> a.at(i);
		b.at(i) = { a.at(i) };
	}
	int f = 0;

	for (int j = 0; j < 102; j++)
	{


		for (int i = 0; i < n; i++)
		{
			if (a.at(i) < j)
			{
				f = 1;
				cout << j - 1 << endl;
				break;
			}
			if (i == n - 1)
			{
				break;
			}
			else {
				int x = a.at(i) - j;
				a.at(i + 1) += x;
			}

		}
		for (int k = 0; k < n; k++)
		{
			a.at(k) = b.at(k);
		}
		if (f==1)
		{
			break;
		}

	}
}

