剪缎带

题目描述

Y 同学获得了一条长度为 NN 的缎带。

Y 同学需要将这条缎带剪成若干段。为了满足特定的要求,剪出的每一小段缎带的长度必须恰好为 AABBCC 中的一种。

在严格满足上述长度限制(即所有小段缎带长度之和恰好为 NN)的前提下,Y 同学希望剪出的缎带总段数尽可能多。请你编写程序,帮助 Y 同学计算出最多可以剪出的缎带段数。

题目保证对于给定的输入,至少存在一种合法的剪裁方案。

输入格式

输入仅包含一行,包含四个正整数 N,A,B,CN, A, B, C,相邻两个整数之间由一个空格隔开,分别表示原缎带的长度以及允许剪出的三种固定长度。

输出格式

输出一行一个整数,表示在满足所有条件的情况下,最多可以剪出的缎带段数。

样例

样例输入 #1

5 5 3 2

样例输出 #1

2

样例输入 #2

7 5 5 2

样例输出 #2

2

数据范围与约定

对于 100%100\% 的数据,保证 1N,A,B,C40001 \le N, A, B, C \le 4000

子任务编号 分值 NN \le A,B,CA, B, C \le 特殊性质
1 30 100100
2 10001000
3 40 40004000