小红有一根长度为 n−1 的绳子,在上面均匀地标记了 n 个点(包括两端点),编号从 1 到 n。这样,绳子被均分为 n−1 段。现有 Q 次操作,每次操作有两种类型:
小红有一根长度为 n−1 的绳子,她在绳子上均匀的画了 n 个点(包括端点),点的编号为 1 ~ n ,这样绳子被均匀的分为 n−1 段。
她现在提出 Q 次询问,每次询问会要求进行下述操作的其中一种:
操作一:在点 x(1<x<n) 上画一条红线。
操作二:若把当前画红线的地方全部剪断,询问是否存在长度大于等于 k 的绳子;
不考虑绳子的损耗且每次询问二独立(即假设绳子剪断,但实际上并不真的剪断),请你回答小红的每次询问。
第一行输入两个整数 n,Q(3≤n≤109;1≤Q≤105)代表绳子的长度、小红的操作询问次数。
接下来 Q 行,每行先输入一个整数 op(1≤op≤2) 表示操作询问的类型,随后:
当 op=1,在同一行输入一个整数 x(1<x<n) 表示在 x 处画一条红线;
当 op=2,在同一行输入一个整数 k(1≤k≤109) 查询若把当前的红线剪断。是否存在长度大于等于 k 的绳子线段。
对于每个询问二,若把当前的红线剪断,会存在长度大于等于 k 的绳子,在一行上输出 YES ;否则,直接输出 NO 。
输入
8 7
2 7
1 4
2 4
2 5
1 6
2 3
2 4
输出
YES
YES
NO
YES
NO