import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ

		Scanner sc = new Scanner(System.in);

		//モンスターのヒットポイント
		int h = sc.nextInt();
		//必殺技の種類
		int n = sc.nextInt();
		//アライグマの初期値
		int cr = 0;

		for (int i = 0; i < n; i++) {
			cr += Integer.parseInt(sc.next());

		}
		//同じ技を使わない
		if(cr >= h) {
			System.out.println("Yes");
		}
		//それ以外
		else {
			System.out.println("No");
		}
		sc.close();

	}

} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ

		Scanner sc = new Scanner(System.in);

		//モンスターのヒットポイント
		int h = sc.nextInt();
		//必殺技の種類
		int n = sc.nextInt();
		//アライグマの初期値
		int cr = 0;

		for (int i = 0; i < n; i++) {
			cr += Integer.parseInt(sc.next());

		}
		//同じ技を使わない
		if(cr >= h) {
			System.out.println("Yes");
		}
		//それ以外
		else {
			System.out.println("No");
		}
		sc.close();

	}

} Main public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ

		Scanner sc = new Scanner(System.in);

		//モンスターのヒットポイント
		int h = sc.nextInt();
		//必殺技の種類
		int n = sc.nextInt();
		//アライグマの初期値
		int cr = 0;

		for (int i = 0; i < n; i++) {
			cr += Integer.parseInt(sc.next());

		}
		//同じ技を使わない
		if(cr >= h) {
			System.out.println("Yes");
		}
		//それ以外
		else {
			System.out.println("No");
		}
		sc.close();

	} main {
		// TODO 自動生成されたメソッド・スタブ

		Scanner sc = new Scanner(System.in);

		//モンスターのヒットポイント
		int h = sc.nextInt();
		//必殺技の種類
		int n = sc.nextInt();
		//アライグマの初期値
		int cr = 0;

		for (int i = 0; i < n; i++) {
			cr += Integer.parseInt(sc.next());

		}
		//同じ技を使わない
		if(cr >= h) {
			System.out.println("Yes");
		}
		//それ以外
		else {
			System.out.println("No");
		}
		sc.close();

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int h = sc.nextInt(); h sc.nextInt() sc.nextInt sc int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int cr = 0; cr 0 for (int i = 0; i < n; i++) {
			cr += Integer.parseInt(sc.next());

		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			cr += Integer.parseInt(sc.next());

		} {
			cr += Integer.parseInt(sc.next());

		} cr += Integer.parseInt(sc.next()) cr Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc if(cr >= h) {
			System.out.println("Yes");
		}
		//それ以外
		else {
			System.out.println("No");
		} cr >= h cr h {
			System.out.println("Yes");
		} System.out.println("Yes") System.out.println System.out System System.out "Yes" {
			System.out.println("No");
		} System.out.println("No") System.out.println System.out System System.out "No" sc.close() sc.close sc String[] args args public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ

		Scanner sc = new Scanner(System.in);

		//モンスターのヒットポイント
		int h = sc.nextInt();
		//必殺技の種類
		int n = sc.nextInt();
		//アライグマの初期値
		int cr = 0;

		for (int i = 0; i < n; i++) {
			cr += Integer.parseInt(sc.next());

		}
		//同じ技を使わない
		if(cr >= h) {
			System.out.println("Yes");
		}
		//それ以外
		else {
			System.out.println("No");
		}
		sc.close();

	}

} public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ

		Scanner sc = new Scanner(System.in);

		//モンスターのヒットポイント
		int h = sc.nextInt();
		//必殺技の種類
		int n = sc.nextInt();
		//アライグマの初期値
		int cr = 0;

		for (int i = 0; i < n; i++) {
			cr += Integer.parseInt(sc.next());

		}
		//同じ技を使わない
		if(cr >= h) {
			System.out.println("Yes");
		}
		//それ以外
		else {
			System.out.println("No");
		}
		sc.close();

	}

} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ

		Scanner sc = new Scanner(System.in);

		//モンスターのヒットポイント
		int h = sc.nextInt();
		//必殺技の種類
		int n = sc.nextInt();
		//アライグマの初期値
		int cr = 0;

		for (int i = 0; i < n; i++) {
			cr += Integer.parseInt(sc.next());

		}
		//同じ技を使わない
		if(cr >= h) {
			System.out.println("Yes");
		}
		//それ以外
		else {
			System.out.println("No");
		}
		sc.close();

	}

}