#jag2017autumnb. [jag2017autumn_b]Tournament Chart

[jag2017autumn_b]Tournament Chart

问题描述

在 21XX 年,日本算法大奖赛(JAG)已经成为最受欢迎的脑力运动赛事之一。

JAG 是一项淘汰赛。今年,将有 NN 名选手参加 JAG。一个比赛图表用字符串表示。[[a-b]-[c-d]] 是一个简单的例子。在这种情况下,有 4 个名字分别为 a、b、c 和 d 的选手,并且所有比赛描述如下:

  • 比赛 1 是 a 和 b 之间的比赛。
  • 比赛 2 是 c 和 d 之间的比赛。
  • 比赛 3 是[比赛 1 的胜者]和[比赛 2 的胜者]之间的比赛。

更准确地说,比赛图表遵循以下 BNF:

  • ::= | "[" "-" "]"
  • ::= "a" | "b" | "c" | ... | "z"

你作为 JAG 的主席,计划公布今年 JAG 比赛的结果。但是,你犯了一个错误,丢失了所有比赛的结果。幸运的是,你找到了之前打印的比赛图表。当然,它不包含任何结果。因此,你向每个选手询问了在比赛中获胜的次数,并以 "选手 a_ia\_i 赢得 v_iv\_i 次" 的形式得到了 NN 个信息。

现在,你的任务是确定所有这些回答是否可能是真实的。


输入

输入包括一个格式如下的单独测试用例。

SS a_1a\_1 v_1v\_1 vdots\\vdots a_Na\_N v_Nv\_N

SS 表示比赛图表。SS 符合上述 BNF。接下来的 NN 行表示获胜次数的信息。第 i+1i+1 行由一个小写字母 a_ia\_i 和一个非负整数 v_iv\_i (v_ile26) v\_i \\le 26) 以空格分隔组成,这意味着选手 a_ia\_i 赢得 v_iv\_i 次。注意,NN (2leNle262 \\le N \\le 26) 表示选手数量,并且通过字符串 SS 可以确定。可以假设每个字母 a_ia\_i 都是不同的。保证 SS 正好包含每个 a_ia\_i 一次,并且不包含任何其他小写字母。

输出

如果回答对于比赛图表是有效的,请在一行中打印 Yes。否则,在一行中打印 No


示例输入 1

\[\[m-y\]-\[a-o\]\]
o 0
a 1
y 2
m 0

示例输出 1

Yes

示例输入 2

\[\[r-i\]-\[m-e\]\]
e 0
r 1
i 1
m 2

示例输出 2

No