NOCHANGE  No Change
Though it might be hard to imagine, the inhabitants of a small country Additivia do not know of such thing as change, which probably has to do with them not knowing subtraction either. When they buy something, they always need to have the exact amount of addollars, their currency. The only other option, but not a really attractive one, is overpaying.
Professor Adem, one of the Additivian mathematicians came up with an algorithm for keeping a balanced portfolio. The idea is the following. Suppose you have more coins of value $v_1$ than coins of value $v_2$. In this case you should try to spend at least as many coins of value $v_1$ as those of value $v_2$ on any buy you make. Of course spending too many $v_1$ coins is not a good idea either, but to make the algorithm simpler professor Adem decided to ignore the problem. The algorithm became an instant hitand professor Adem is now designing a kind of "electronic portfolio" with builtin Adem's algorithm. All he needs now is a software for these machines, that will decide whether a given amount ofaddollars can be paid using a given set of coins according to the rules of Adem's algorithm. Needless to say, you are his chosen programmer for the task.
Problem
Write a program that reads the description of a set of coins and an amount of addollars to be paid, and determines whether you can pay that amount according to Professor Adem's rules.
Input
The input starts with the amount of addollars to be paid $x$, where $1 \le x \le 100,000$. The number of different coin values $k$ follows, where $1 \le k \le 5$. The values of the coins $v_1, \ldots, v_k$ follow, where $1 \le v_i \le 10,000$.
Notice that the order among coin values is significant: you need to spend at least as many coins of value $v_1$ as coins of value $v_2$, at least as many coins of value $v_2$ as those of value $v_3$, and so on. You may assume that you have a sufficiently large number of coins of each value.
Output
Your program should output for each test case either a single word "YES", if the given amount can be paid according to the rules, or a single word "NO" otherwise.
Example
Input: 13 3 9 2 1 Output: NO
hide comments
masterassassin:
20190224 16:27:19
AC finally..


karan_yadav:
20180705 07:52:54
For all those who couldn't understand the problem statement:


aman_sachin200:
20180612 00:46:10
Nice one!!!!Used Recursion+Memoization+Backtracking to keep count of coins of different kinds used!!! :P Last edit: 20180612 00:49:52 

shahzada:
20180313 06:23:03
Easy One! Should be moved to the tutorial section. 

sonudoo:
20170701 15:43:27
Brilliant!! 

razor123:
20170424 20:56:59
Nice variation of coin change. O(x*k) 

code_caeser:
20161021 22:16:03
nice dp problem...something new...recursion+memorisation...AC in 1st go!!:) 

conquistador:
20161001 20:25:43
getting wrong answer in test case 10 any hints?


vignesh97:
20160804 19:20:07
Good problem. AC in 1st go :) 

Abhishek Singh:
20160424 10:16:13
didn't understand the problem? can someone please simplify the problem stated? 
Added by:  overwise 
Date:  20071004 
Time limit:  0.644s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ERL JSRHINO NODEJS PERL6 VB.NET 
Resource:  ACM ICPC  SWERC 2001 