Fran 在化学课上没注意听讲,现在他需要你帮他完成家庭作业。他的作业包含 $n$ 个化学方程式,他需要检查这些方程式是否配平。化学方程式是一种使用符号和公式来表示化学反应的方法。在化学反应中,一组初始分子发生反应,生成一组新的分子。
化学方程式有左侧和右侧。左侧包含初始分子的化学式,右侧包含生成物分子的化学式。方程式的左侧和右侧由箭头(字符 ->)分隔。出现在左侧或右侧的不同分子由 + 分隔。
分子是由原子组成的物质,原子是微小的粒子,在本题中用拉丁字母的大写字母表示。分子的化学式通过列出组成该分子的所有不同原子的标签来书写。如果一个分子包含多个某种原子,则该原子的出现次数写在化学式中该原子之后。例如,AC4B 是一个分子的化学式,它包含 1 个原子 A,4 个原子 C 和 1 个原子 B。如果方程式的一侧中某个分子出现多次,则该出现次数作为系数写在化学式前面。例如,3AC4B 表示 3 个 AC4B 分子,总共包含 3 个原子 A,12 个原子 C 和 3 个原子 B。
如果化学方程式的右侧和左侧包含每种原子数量相等,则称该化学方程式已配平。你的任务是确定 $n$ 个化学方程式中的每一个是否配平。测试用例将保证反应中出现的所有数字(分子中原子的数量和反应中分子的数量)都只有一位数字(且大于 1)。
输入格式
第一行包含一个正整数 $n$ ($1 \le n \le 10$),表示化学方程式的数量。
接下来的 $n$ 行,每行包含一个表示化学方程式的字符序列。每个方程式最多包含 1000 个字符。方程式不一定配平,但它们会按照题目描述中的方式正确书写。
输出格式
对于 $n$ 个方程式中的每一个,如果已配平则输出 DA,否则输出 NE,每行输出一个结果。
子任务
| 子任务 | 分值 | 约束 |
|---|---|---|
| 1 | 10 | 没有化学反应包含数字。 |
| 2 | 10 | 分子化学式中不出现数字。 |
| 3 | 30 | 无额外约束。 |
样例
输入 1
3 A+B->AB AB+CD->AC+DB AB+B->AB
输出 1
DA DA NE
输入 2
2 2AB+A->3AB 2AB+2AC+2BC->4ABC
输出 2
NE DA
输入 3
4 2H2O+2CO2->2H2CO3 H2SO4->H2O4 NH3+H2SO4->NH4SO4 CH4+2O2->CO2+2H2O
输出 3
DA NE NE DA
说明
第三个样例的解释:
第一个方程式:两侧各有 4 个 H 原子,2 个 C 原子和 6 个 O 原子,因此答案为 DA。
第二个方程式:左侧有一个 S 原子,但右侧没有,因此答案为 NE。
第三个方程式:左侧有 5 个 H 原子,但右侧有 4 个,因此答案为 NE。
第四个方程式:两侧各有 4 个 H 原子,1 个 C 原子和 4 个 O 原子,因此答案为 DA。