#include<stdio.h>/*只能按这种形式排序单纯一种形式是不对的,按ai排序
20 2
1 1
10 20
按bi排序
20 2
5 17
1 16 都是不对的
二a.u+b.v得出的是先算a的需要的空间,a.v+b.u算出的是先算b所需要的空间
*/
#include<stdlib.h>
#define N 1100
typedef struct node {
int u,v;
}F;
F f[N];
int cmp(const void *a,const void *b) {
if((*(F *)a).u+(*(F *)b).v!=(*(F *)a).v+(*(F *)b).u)
return (*(F *)a).u+(*(F *)b).v>(*(F *)a).v+(*(F *)b).u?1:-1;
return 0;
}
int main() {
int n,m,i,t;
scanf("%d",&t);
while(t--) {
scanf("%d%d",&n,&m);
for(i=0;i<m;i++)
scanf("%d%d",&f[i].u,&f[i].v);
qsort(f,m,sizeof(f[0]),cmp);
for(i=0;i<m;i++) {
if(n>=f[i].v)
n-=f[i].u;
else
break;
}
if(i==m)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}