#include <bits/stdc++.h>
using namespace std;
void swap(int& a, int& b) {
  a = a ^ b;
  b = a ^ b;
  a = a ^ b;
}
void get_min3(int& a, int& b, int& c) {
  if (a < b) {
    if (a < c) {
      ;
    } else {
      swap(a, c);
    }
  } else {
    if (b < c) {
      swap(a, b);
    } else {
      swap(a, c);
    }
  }
}
void get_output(int n, int a, int b, int c) {
  if (n < a)
    cout << 0;
  else {
    int cnt[n + 1];
    for (int i = 0; i < a; i++) cnt[i] = 0;
    cnt[a] = 1;
    for (int i = a + 1; i <= n; i++) {
      cnt[i] = 0;
      if (i >= a) {
        cnt[i] =
            max(cnt[i], (cnt[i - a] == 0 ? (i == a ? 1 : 0) : cnt[i - a] + 1));
      }
      if (i >= b) {
        cnt[i] =
            max(cnt[i], (cnt[i - b] == 0 ? (i == b ? 1 : 0) : cnt[i - b] + 1));
      }
      if (i >= c) {
        cnt[i] =
            max(cnt[i], (cnt[i - c] == 0 ? (i == c ? 1 : 0) : cnt[i - c] + 1));
      }
    }
    cout << cnt[n];
  }
  return;
}
int main() {
  int n, a, b, c;
  cin >> n >> a >> b >> c;
  get_min3(a, b, c);
  get_output(n, a, b, c);
  return 0;
}
