#include <iostream>
#include<stdio.h>
#include<limits.h>
#include <fstream>
using namespace std;
ifstream f("points.in");


int max(int a, int b) { return (a > b)? a : b; }


int Boom(int indici[], int n)
{
   int *rec=new int [n+1];
   rec[0]=0;
   int i,j;

   for (i = 1; i<=n; i++)
   {
       int max_meu = INT_MIN;
       for (j = 0; j < i; j++)
       {
           max_meu = max(max_meu, indici[j] + rec[i-j-1]);

        }
       rec[i] = max_meu;

   }
   return rec[n];
}

int main()
{
    int n,v[5];
    f>>n;
    for(int i=0;i<3;i++)
    {
        f>>v[i];
    }
    cout<<Boom(v, n);
    cout<<endl;
    f.close();
    return 0;
}