4041. 魔树

单点时限: 1.0 sec

内存限制: 256 MB

第 $0$ 年,Cuber QQ 种下了一棵魔树。这是一棵有 $n$ 个结点的有根树,它的根为 $1$ 号结点。

接下来 $m$ 年,每年 Cuber QQ 都会施展魔法来改变这棵树。有两种魔法:

  • A k:对于树中的每个叶子,让它长出 $k$ 个并排的孩子;
  • D: 对于树中的所有叶子,将它们删除。

有根树的叶子是指没有孩子的点。注意对于操作完的树,它的叶子集合可能会改变。

现在你知道了 Cuber QQ 每年施展的魔法。你想要预测 $m$ 年以后,魔树会包含多少个点。你只需要求出答案对 $10^9 + 7$ 取模的结果。

保证 Cuber QQ 不会在根结点为叶子时使用第二种魔法。

输入格式

第一行两个整数 $n, m$($1 \le n, m \le 10^5$)。

接下来 $n - 1$ 行,每行两个整数 $u, v$($1 \le u, v \le n, u \neq v$),表示第 $0$ 年魔树中的一条边。

接下来 $m$ 行,第 $i$ 行一个形如 A k($1 \le k < 10^9 + 7$)或 D 的字符串,表示 Cuber QQ 第 $i$ 年进行的操作。

输出格式

一行一个整数,表示答案。

样例

Input
5 3
1 2
2 3
2 4
4 5
A 1
D
A 2
Output
9
Input
1 10
A 2
D
A 3
A 4
D
A 5
A 6
A 7
D
A 8
Output
829

提示

对于样例一,第 $1$ 年加入的点在第 $2$ 年全被删除,第 $3$ 年加入了 $4$ 个点,故最终有 $9$ 个点。

151 人解决,192 人已尝试。

171 份提交通过,共有 778 份提交。

3.3 EMB 奖励。

创建: 10 月,2 周前.

修改: 10 月前.

最后提交: 6 天,9 小时前.

来源: EOJ Monthly 2021.1

题目标签