诛伏赐死
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述




在这片审判领域中,是否“有罪”取决于天平能否重新恢复平衡。

法官会先给出一份“证据”:在天平的一侧放置一个重量为  的物体。 随后,领域会封存你的一枚秤砣,使其无法被继续使用。被封存的秤砣重量为 

你原本拥有一组秤砣,重量分别为

也就是说,对于每个整数 ,满足  时,恰好有一个重量为  的秤砣。

现在有  组询问。每组询问给出两个整数 ,表示:

天平一侧放置了一个重量为  的物体; 重量为  的秤砣已被封存,不能使用。

你可以将其余仍可用的秤砣任意放在天平两侧,每个秤砣至多使用一次,也可以不使用。

对于每组询问,请判断你是否能够通过摆放剩余秤砣,使天平恰好恢复平衡。






输入描述:

第一行一个整数 T,表示询问组数。

接下来 T 行,每行两个整数 M,k,表示一组询问。

  • 1T10^5
  • 1M10^8
  • 0k20

输出描述:

对于每组询问,输出一行:

  • 若天平可以平衡,输出 Yes;
  • 否则输出 No。
示例1

输入

复制
6
1 0
1 1
2 1
5 0
8 1
10 2

输出

复制
No
Yes
No
No
Yes
No