import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

	static BufferedReader reader;
	//static field here
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		reader = new BufferedReader(new InputStreamReader(System.in));
		//code here
		String[] HN = readLine();
		int H = Integer.parseInt(HN[0]);
		int N = Integer.parseInt(HN[1]);
		String[] a = readLine();
		for(int i=0;i<N;i++) {
			H-=Integer.parseInt(a[i]);
		}
		print(H<=0?"Yes":"No");
		
		
		//String[] s = readLine();
	}
	
	//functions here
	//note that all methods should be STATIC
	private static double getDistance(int[] p1,int[] p2) {
		double s = 0;
		for(int i=0;i<p1.length;i++) {
			s+=(p1[i]-p2[i])*(p1[i]-p2[i]);
		}
		return Math.sqrt(s);
	}
	
	private static String[] readLine(){
		try{
			return reader.readLine().split(" ");
		}catch(Exception e){
			e.printStackTrace();
			return new String[]{e.getMessage()};
		}
	}
	private static void print(Object o){
		System.out.println(o);
	}
	private static void print(){
		System.out.println();
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.InputStreamReader; InputStreamReader java.io public class Main {

	static BufferedReader reader;
	//static field here
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		reader = new BufferedReader(new InputStreamReader(System.in));
		//code here
		String[] HN = readLine();
		int H = Integer.parseInt(HN[0]);
		int N = Integer.parseInt(HN[1]);
		String[] a = readLine();
		for(int i=0;i<N;i++) {
			H-=Integer.parseInt(a[i]);
		}
		print(H<=0?"Yes":"No");
		
		
		//String[] s = readLine();
	}
	
	//functions here
	//note that all methods should be STATIC
	private static double getDistance(int[] p1,int[] p2) {
		double s = 0;
		for(int i=0;i<p1.length;i++) {
			s+=(p1[i]-p2[i])*(p1[i]-p2[i]);
		}
		return Math.sqrt(s);
	}
	
	private static String[] readLine(){
		try{
			return reader.readLine().split(" ");
		}catch(Exception e){
			e.printStackTrace();
			return new String[]{e.getMessage()};
		}
	}
	private static void print(Object o){
		System.out.println(o);
	}
	private static void print(){
		System.out.println();
	}
} Main static BufferedReader reader; reader public static void main(String[] args) {
		// TODO Auto-generated method stub
		reader = new BufferedReader(new InputStreamReader(System.in));
		//code here
		String[] HN = readLine();
		int H = Integer.parseInt(HN[0]);
		int N = Integer.parseInt(HN[1]);
		String[] a = readLine();
		for(int i=0;i<N;i++) {
			H-=Integer.parseInt(a[i]);
		}
		print(H<=0?"Yes":"No");
		
		
		//String[] s = readLine();
	} main {
		// TODO Auto-generated method stub
		reader = new BufferedReader(new InputStreamReader(System.in));
		//code here
		String[] HN = readLine();
		int H = Integer.parseInt(HN[0]);
		int N = Integer.parseInt(HN[1]);
		String[] a = readLine();
		for(int i=0;i<N;i++) {
			H-=Integer.parseInt(a[i]);
		}
		print(H<=0?"Yes":"No");
		
		
		//String[] s = readLine();
	} reader = new BufferedReader(new InputStreamReader(System.in)) reader new BufferedReader(new InputStreamReader(System.in)) String[] HN = readLine(); HN readLine() readLine int H = Integer.parseInt(HN[0]); H Integer.parseInt(HN[0]) Integer.parseInt Integer HN[0] HN 0 int N = Integer.parseInt(HN[1]); N Integer.parseInt(HN[1]) Integer.parseInt Integer HN[1] HN 1 String[] a = readLine(); a readLine() readLine for(int i=0;i<N;i++) {
			H-=Integer.parseInt(a[i]);
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			H-=Integer.parseInt(a[i]);
		} {
			H-=Integer.parseInt(a[i]);
		} H-=Integer.parseInt(a[i]) H Integer.parseInt(a[i]) Integer.parseInt Integer a[i] a i print(H<=0?"Yes":"No") print H<=0?"Yes":"No" H<=0 H 0 "Yes" "No" String[] args args //functions here
	//note that all methods should be STATIC
	private static double getDistance(int[] p1,int[] p2) {
		double s = 0;
		for(int i=0;i<p1.length;i++) {
			s+=(p1[i]-p2[i])*(p1[i]-p2[i]);
		}
		return Math.sqrt(s);
	} getDistance {
		double s = 0;
		for(int i=0;i<p1.length;i++) {
			s+=(p1[i]-p2[i])*(p1[i]-p2[i]);
		}
		return Math.sqrt(s);
	} double s = 0; s 0 for(int i=0;i<p1.length;i++) {
			s+=(p1[i]-p2[i])*(p1[i]-p2[i]);
		} int i=0; int i=0; i 0 i<p1.length i p1.length p1 p1.length i++ i++ i {
			s+=(p1[i]-p2[i])*(p1[i]-p2[i]);
		} {
			s+=(p1[i]-p2[i])*(p1[i]-p2[i]);
		} s+=(p1[i]-p2[i])*(p1[i]-p2[i]) s (p1[i]-p2[i])*(p1[i]-p2[i]) (p1[i]-p2[i]) p1[i] p1 i p2[i] p2 i (p1[i]-p2[i]) p1[i] p1 i p2[i] p2 i return Math.sqrt(s); Math.sqrt(s) Math.sqrt Math s int[] p1 p1 int[] p2 p2 private static String[] readLine(){
		try{
			return reader.readLine().split(" ");
		}catch(Exception e){
			e.printStackTrace();
			return new String[]{e.getMessage()};
		}
	} readLine {
		try{
			return reader.readLine().split(" ");
		}catch(Exception e){
			e.printStackTrace();
			return new String[]{e.getMessage()};
		}
	} try{
			return reader.readLine().split(" ");
		}catch(Exception e){
			e.printStackTrace();
			return new String[]{e.getMessage()};
		} catch(Exception e){
			e.printStackTrace();
			return new String[]{e.getMessage()};
		} Exception e {
			e.printStackTrace();
			return new String[]{e.getMessage()};
		} e.printStackTrace() e.printStackTrace e return new String[]{e.getMessage()}; new String[]{e.getMessage()} {
			return reader.readLine().split(" ");
		} return reader.readLine().split(" "); reader.readLine().split(" ") reader.readLine().split reader.readLine() reader.readLine reader " " private static void print(Object o){
		System.out.println(o);
	} print {
		System.out.println(o);
	} System.out.println(o) System.out.println System.out System System.out o Object o o private static void print(){
		System.out.println();
	} print {
		System.out.println();
	} System.out.println() System.out.println System.out System System.out public class Main {

	static BufferedReader reader;
	//static field here
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		reader = new BufferedReader(new InputStreamReader(System.in));
		//code here
		String[] HN = readLine();
		int H = Integer.parseInt(HN[0]);
		int N = Integer.parseInt(HN[1]);
		String[] a = readLine();
		for(int i=0;i<N;i++) {
			H-=Integer.parseInt(a[i]);
		}
		print(H<=0?"Yes":"No");
		
		
		//String[] s = readLine();
	}
	
	//functions here
	//note that all methods should be STATIC
	private static double getDistance(int[] p1,int[] p2) {
		double s = 0;
		for(int i=0;i<p1.length;i++) {
			s+=(p1[i]-p2[i])*(p1[i]-p2[i]);
		}
		return Math.sqrt(s);
	}
	
	private static String[] readLine(){
		try{
			return reader.readLine().split(" ");
		}catch(Exception e){
			e.printStackTrace();
			return new String[]{e.getMessage()};
		}
	}
	private static void print(Object o){
		System.out.println(o);
	}
	private static void print(){
		System.out.println();
	}
} public class Main {

	static BufferedReader reader;
	//static field here
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		reader = new BufferedReader(new InputStreamReader(System.in));
		//code here
		String[] HN = readLine();
		int H = Integer.parseInt(HN[0]);
		int N = Integer.parseInt(HN[1]);
		String[] a = readLine();
		for(int i=0;i<N;i++) {
			H-=Integer.parseInt(a[i]);
		}
		print(H<=0?"Yes":"No");
		
		
		//String[] s = readLine();
	}
	
	//functions here
	//note that all methods should be STATIC
	private static double getDistance(int[] p1,int[] p2) {
		double s = 0;
		for(int i=0;i<p1.length;i++) {
			s+=(p1[i]-p2[i])*(p1[i]-p2[i]);
		}
		return Math.sqrt(s);
	}
	
	private static String[] readLine(){
		try{
			return reader.readLine().split(" ");
		}catch(Exception e){
			e.printStackTrace();
			return new String[]{e.getMessage()};
		}
	}
	private static void print(Object o){
		System.out.println(o);
	}
	private static void print(){
		System.out.println();
	}
} Main
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

	static BufferedReader reader;
	//static field here
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		reader = new BufferedReader(new InputStreamReader(System.in));
		//code here
		String[] HN = readLine();
		int H = Integer.parseInt(HN[0]);
		int N = Integer.parseInt(HN[1]);
		String[] a = readLine();
		for(int i=0;i<N;i++) {
			H-=Integer.parseInt(a[i]);
		}
		print(H<=0?"Yes":"No");
		
		
		//String[] s = readLine();
	}
	
	//functions here
	//note that all methods should be STATIC
	private static double getDistance(int[] p1,int[] p2) {
		double s = 0;
		for(int i=0;i<p1.length;i++) {
			s+=(p1[i]-p2[i])*(p1[i]-p2[i]);
		}
		return Math.sqrt(s);
	}
	
	private static String[] readLine(){
		try{
			return reader.readLine().split(" ");
		}catch(Exception e){
			e.printStackTrace();
			return new String[]{e.getMessage()};
		}
	}
	private static void print(Object o){
		System.out.println(o);
	}
	private static void print(){
		System.out.println();
	}
}