#include<bits/stdc++.h>
using namespace std;
int n;
long long sum[200005];
long long res=1e18;
void Get(int l,int r,long long &fir,long long &sec)
{
	long long res=1e18;
	int lef=l,rig=r-1;
	while(lef<=rig)
	{
		int mid=lef+rig>>1;
		long long a=sum[mid]-sum[l-1];
		long long b=sum[r]-sum[mid];
		if(abs(a-b)<res)
		{
			res=abs(a-b);
			fir=a;
			sec=b;
		}
		if(a<=b) lef=mid+1;
		else rig=mid-1;
	}
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		int a;
		cin>>a;
		sum[i]=a+sum[i-1];
	}
	for(int i=2;i<=n-2;i++)
	{
		long long a,b;
		Get(1,i,a,b);
		long long c,d;
		Get(i+1,n,c,d);
		long long cand=max(max(a,b),max(c,d))-min(min(a,b),min(c,d));
		res=min(res,cand);
	}
	cout<<res<<endl;
	return 0;
}
