#iroha2019day4c. [iroha2019_day4_c]君の力に

[iroha2019_day4_c]君の力に

故事

我到达车站时看到的是与异形战斗的Iroha酱。她像在舞动一样四处移动,玩弄着敌人。

然而,异形的势头一点也不减弱。敌人的数量太多了。仅仅观看是不够的。你的力量!

问题描述

现在,有 MM 个敌人,第 ii 个敌人最初离你的位置距离为 xi+0.5x_i+0.5 ,每秒向你靠近 1 的距离。当与敌人的距离变为 0 时,你将会死去。严格来说,当与距离为 0.5 的敌人靠近时,你也会死去。
此外,每个敌人都有一个由01组成的特定字符串,第 ii 个敌人所拥有的字符串为 sis_i

你有一把武器,并且这把武器也有一个由01组成的字符串 SS。你可以使用这把武器做以下两件事情:

  • 击败最近的敌人。但是,武器字符串必须按字典顺序大于敌人所拥有的字符串。
  • 用 1 秒的时间对武器施放魔法,改变字符串。

注意,攻击所需时间非常短,可以忽略不计。而且,在任何行动中,你都不会从原来的位置移动。

你可以使用的魔法将改变你武器的字符串如下:

  • 在字符串的开头添加 2 个 0
  • 对于每个字符,如果其右边和左边的数字相等,则写入 0,否则写入 1。但是,如果右边或者左边的字符不存在,则什么都不写。
  • 将下面写出的字符串作为新的字符串。

例如,当你的武器字符串为1101时,使用魔法后,新的字符串将变为1110

魔法示例

给定 MM 个敌人的信息和你最初持有的字符串 SS,请判断你是否能够安全存活。

约束条件

  • 0leqMleq1050 \\leq M \\leq 10^5
  • $0 < x_1 \\leq x_2 \\leq \\dots \\leq x_M \\leq 10^{18}$
  • 1leqsi(i=1,2,dots,M)1 \\leq |s_i| (i=1,2,\\dots,M)
  • displaystylesumi=1Msileq105\\displaystyle\\sum_{i=1}^M |s_i| \\leq 10^5
  • 1leqSleq1051 \\leq |S| \\leq 10^5
  • sis_iSS 均为仅包含01的字符串

输入

输入以以下格式从标准输入中给出。

SS MM x1x_1 s1s_1 x2x_2 s2s_2 : xMx_M sMs_M

输出

如果你能在距离变为 0 之前击败所有敌人,则输出 Yes,否则输出 No

输入示例 1

1101
2
1 1001
2 1101

输出示例 1

Yes

你可以按照以下步骤击败所有敌人:

  • 击败最近的敌人。
  • 花费 1 秒钟施放魔法。武器字符串变为1110,敌人靠近 1 的距离。
  • 击败最近的敌人。

输入示例 2

1101
2
1 1001
2 1110

输出示例 2

No

在击败敌人时,武器字符串必须按字典顺序大于敌人所拥有的字符串。

输入示例 3

1111
4
1 1
2 011
3 1100
7 0000001

输出示例 3

Yes

有时甚至可以不使用魔法就能击败所有敌人。

输入示例 4

00000000
1
1000000000000000000 1

输出示例 4

No

有时候无论使用多少次魔法都不能击败敌人。

输入示例 5

0110011000
10
1 100
2 0111
3 0000
5 1
5 0
6 0000001
7 11
7 00
8 00
9 0101

输出示例 5

No

解释

解释可参考。