#include <bits/stdc++.h>
using namespace std;
#define MAXN 500001
#define int long long
int n,a[MAXN],pref[MAXN];
int32_t main()
{
cin>>n;for (int i=1;i<=n;i++) cin>>a[i];
pref[0]=0;for (int i=1;i<=n;i++) pref[i]=pref[i-1]+a[i];
if (n<=20)
{
int answer=0;
for (int maska=0;maska<(1<<n);maska++)
{
vector<int> positions;positions.push_back(0);
for (int bit=0;bit<n;bit++)
{
if (maska&(1<<bit)) positions.push_back(bit+1);
}
if (positions[(int)positions.size()-1]!=n) continue;
vector<int> values;
for (int i=1;i<(int)positions.size();i++) values.push_back(pref[positions[i]]-pref[positions[i-1]]);
bool valid=true;
for (int i=1;i<(int)values.size();i++)
{
if (values[i]<values[i-1]) {valid=false;break;}
}
if (valid) answer=max(answer,(int)values.size());
}
cout<<answer<<endl;
return 0;
}
return 0;
}