#!/usr/bin/env python import os import sys from io import BytesIO, IOBase from collections import defaultdict as ddic, Counter from itertools import groupby, combinations from heapq import * from math import ceil, gcd, log from functools import lru_cache, cmp_to_key from decimal import Decimal import decimal decimal.getcontext().prec = 20 # MOD = 10**9 + 7 MOD = 998244353 from math import log2, pi, gcd def solve(): N = rint() A, B, C = rlist() # use 3, 5, 10 dp = [0] * (N + 1) for x in range(3, N + 1): if x >= 3: dp[x] = max(dp[x], dp[x - 3] + A) if x >= 5: dp[x] = max(dp[x], dp[x - 5] + B) if x >= 10: dp[x] = max(dp[x], dp[x - 10] + C) return dp[-1] def main(): T = 1 # T = rint() for tc in range(T): ans = solve() print(ans) # print("First" if ans else "Second") # print(*ans) # print("Yes" if ans else "No") # print("YES" if ans else "NO") # for row in ans: print(*row) # region fastio BUFSIZE = 8192 class FastIO(IOBase): newlines = 0 def __init__(self, file): self._file = file self._fd = file.fileno() self.buffer = BytesIO() self.writable = "x" in file.mode or "r" not in file.mode self.write = self.buffer.write if self.writable else None def read(self): while True: b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE)) if not b: break ptr = self.buffer.tell() self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr) self.newlines = 0 return self.buffer.read() def readline(self): while self.newlines == 0: b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE)) self.newlines = b.count(b"\n") + (not b) ptr = self.buffer.tell() self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr) self.newlines -= 1 return self.buffer.readline() def flush(self): if self.writable: os.write(self._fd, self.buffer.getvalue()) self.buffer.truncate(0), self.buffer.seek(0) class IOWrapper(IOBase): def __init__(self, file): self.buffer = FastIO(file) self.flush = self.buffer.flush self.writable = self.buffer.writable self.write = lambda s: self.buffer.write(s.encode("ascii")) self.read = lambda: self.buffer.read().decode("ascii") self.readline = lambda: self.buffer.readline().decode("ascii") sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout) input = lambda: sys.stdin.readline().rstrip("\r\n") rint = lambda: int(input()) def rlist(n=None): if n is None: return list(map(int, input().split())) return [list(map(int, input().split())) for _ in range(n)] # endregion if __name__ == "__main__": main()