#include<bits/stdc++.h>

using namespace std;

int dp[51][1000][1000];

int main(){
  int n,t[50];
  cin>>n;
  for(int i=0;i<n;i++)cin>>t[i];

  for(int i=0;i<=n;i++)
    for(int j=0;j<900;j++)
      for(int k=0;k<900;k++)
	dp[i][j][k]=1e9;

  dp[0][0][0]=0;
  for(int i=0;i<n;i++)
    for(int j=0;j<1000;j++)
      for(int k=0;k<1000;k++){
	if(j+t[i]<1000)dp[i+1][j+t[i]][k]=min(dp[i+1][j+t[i]][k],dp[i][j][k]);
	if(k+t[i]<1000)dp[i+1][j][k+t[i]]=min(dp[i+1][j][k+t[i]],dp[i][j][k]);
	dp[i+1][j][k]=min(dp[i+1][j][k],dp[i][j][k]+t[i]);
      }
  
  int ans=1e9;
  for(int i=0;i<1000;i++)
    for(int j=0;j<1000;j++)
      if(dp[n][i][j]!=1e9)ans=min(ans,max(dp[n][i][j],max(i,j)));
  
  cout<<ans<<endl;
  return 0;
}