#include<bits/stdc++.h>
using namespace std;bool f(int k,vector<long long>&a,vector<long long>&s){int n=a.size()-1,m=n-k+1;long long c=0;for(int i=1;i<=n;i++){if(i>k)c-=s[i-k];if(i<=m){long long d=a[i]-c;if(d<0)return 0;s[i]=d;c+=d;}else if(a[i]!=c)return 0;}return 1;}int main(){ios::sync_with_stdio(0);cin.tie(0);int n;cin>>n;vector<long long>a(n+1),s(n+1);long long S=0,mx=0;for(int i=1;i<=n;i++)cin>>a[i],S+=a[i],mx=max(mx,a[i]);int p=1;while(p<n&&a[p]<=a[p+1])p++;int q=1;while(q<n&&a[n-q]>=a[n-q+1])q++;int u=min({(long long)n,S/mx,(long long)p,(long long)q});vector<int>v;for(long long d=1;d*d<=S;d++)if(S%d==0){if(d<=u)v.push_back(d);long long e=S/d;if(e!=d&&e<=u)v.push_back(e);}sort(v.begin(),v.end());v.erase(unique(v.begin(),v.end()),v.end());sort(v.rbegin(),v.rend());for(int k:v){fill(s.begin(),s.end(),0);if(f(k,a,s)){cout<<k;return 0;}}cout<<1;}