屠龙勇士

题目描述

Y 同学正在玩一款角色扮演游戏。在这个游戏中,主角需要通过击败关卡中的 NN 条龙来通关。

主角初始的力量值为 SS。这 NN 条龙每一条都有一个力量值 xix_i 和一个奖励值 yiy_i。 战斗规则如下:

  1. Y 同学可以按照任意顺序挑战这 NN 条龙。
  2. 在挑战第 ii 条龙时,如果主角当前的力量值 严格大于 该龙的力量值(即 S>xiS > x_i),则主角获胜。获胜后,主角的力量值会增加 yiy_i(即 SS+yiS \leftarrow S + y_i)。
  3. 如果主角当前的力量值 小于或等于 该龙的力量值(即 SxiS \le x_i),则主角挑战失败,游戏结束。

Y 同学希望知道,是否存在一种挑战顺序,使得他能够成功击败所有的 NN 条龙。

输入格式

第一行包含两个整数 SSNN,分别表示主角的初始力量值和龙的数量。 接下来 NN 行,每行包含两个整数 xix_iyiy_i,分别表示第 ii 条龙的力量值和击败该龙后获得的额外力量值。

输出格式

输出一行一个字符串。如果 Y 同学能够击败所有的龙,输出 YES;否则输出 NO

样例

样例输入 #1

2 2
1 99
100 0

样例输出 #1

YES

样例输入 #2

10 1
100 100

样例输出 #2

NO

数据范围与约定

对于 100%100\% 的数据,保证 1S1041 \le S \le 10^41N10001 \le N \le 10001xi,yi1041 \le x_i, y_i \le 10^4

子任务编号 分值 NN \le 特殊性质
1 30 1010
2 70 10001000