#include<iostream>
#include<bitset>
#include<algorithm>
using namespace std;
int N,T;
bitset<1001>dp[1001];
int main()
{
	dp[0][0]=1;
	cin>>N;
	int sum=0;
	for(int i=0;i<N;i++)
	{
		cin>>T;
		sum+=T;
		for(int j=1000;j>=0;j--)
		{
			if(j+T<=1000)dp[j+T]|=dp[j];
			dp[j]|=dp[j]<<T;
		}
	}
	int ans=sum;
	for(int i=0;i<=1000;i++)for(int j=0;j<=1000;j++)
	{
		if(dp[i][j])ans=min(ans,max(sum-i-j,max(i,j)));
	}
	cout<<ans<<endl;
}

