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 C# (Mono 4.6.2.0) (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace abc_153b
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] input = Console.ReadLine().Split(' ');

            Monster Monster1 = new Monster(int.Parse(input[0]));
            CommonRaccoon CR1 = new CommonRaccoon(int.Parse(input[1]));

            for(int i = 0; i < CR1.LethalWeapon; i++)
            {
                Monster1.HP = battle(Monster1.HP, CR1.LWAttack[i]);
            }

            if (Monster1.HP <= 0)
            {
                Console.WriteLine("Yes");
            }
            else
            {
                Console.WriteLine("No");
            }

            Console.Read();

        }
        static public int battle(int HP,int Attack)
        {
            HP -= Attack;
            return HP;
        }
    }
    /// <summary>
    /// モンスターのクラス
    /// </summary>
    class Monster
    {
        /// <summary>
        /// モンスターのコンストラクタ
        /// </summary>
        /// <param name="hp"></param>
        internal int HP { get; set; }
        public Monster(int hp)
        {
            this.HP = hp;
        }

       　
    }
    /// <summary>
    /// アライグマのクラス
    /// </summary>
    class CommonRaccoon
    {
        internal int LethalWeapon { get; set; }
        internal int[] LWAttack;
        public CommonRaccoon(int LWtype)
        {
            this.LethalWeapon = LWtype;
            this.LWAttack = new int[LethalWeapon];

            string[] number = Console.ReadLine().Split(' ');

            for (int i = 0; i < LethalWeapon; i++)
            {
                LWAttack[i] = int.Parse(number[i]);
            }

        }
    }   
}