Problem:
Score : 200 points

Problem Statement

Raccoon is fighting with a monster.

The health of the monster is H.

Raccoon can use N kinds of special moves. Using the i-th move decreases the monster's health by A_i.
There is no other way to decrease the monster's health.

Raccoon wins when the monster's health becomes 0 or below.

If Raccoon can win without using the same move twice or more, print Yes; otherwise, print No.

Constraints

1 \leq H \leq 10^9

1 \leq N \leq 10^5

1 \leq A_i \leq 10^4

All values in input are integers.

Input

Input is given from Standard Input in the following format:

H N
A_1 A_2 ... A_N

Output

If Raccoon can win without using the same move twice or more, print Yes; otherwise, print No.

Sample Input 1

10 3
4 5 6

Sample Output 1

Yes

The monster's health will become 0 or below after, for example, using the second and third moves.

Sample Input 2

20 3
4 5 6

Sample Output 2

No

Sample Input 3

210 5
31 41 59 26 53

Sample Output 3

Yes

Sample Input 4

211 5
31 41 59 26 53

Sample Output 4

No

Solution in JavaScript (node.js v5.12) (judge verdict: Wrong Answer)

// inputに入力データ全体が入る
function Main(input) {
	// 1行目がinput[0], 2行目がinput[1], …に入る
	input = input.split("\n");
    tmp = input[0].split(" ");
    var hp = parseInt(tmp[0], 10);
    var n = parseInt(tmp[1], 10);
	//文字列から10進数に変換するときはparseIntを使います
    var command = input[1].split(" ");
    command.sort(function(a,b){
        return (a < b ? 1 : -1);
      });
    var maps = {};
    var m = command.length;
    for(var i=0;i<m;i++){
        if((!maps[command[i]])){
            maps[command[i]]=1;
        }else if( maps[command[i]] > 0){
            maps[command[i]]++;
            continue;
        } 
        if(command[i]>0){
            hp = hp - command[i];
        }
        if(hp<=0){
            console.log("Yes");
            break;
        }
    }
    if(hp>0){
        console.log("No");
    }
}
// *この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));