A91408.Welcome24ever 和油漆

普及+/提高

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

Welcome24ever 有一个大农场,农场上有 NN 个谷仓(1N1051 \le N \le 10^5),其中有一些已经涂色,另一些尚未涂色。Welcome24ever 想要把所有谷仓都涂上颜色,但他只有三种可用的油漆颜色。

他的获奖奶牛如果发现有两座直接相连的谷仓颜色相同,就会感到困惑,所以 Welcome24ever 希望保证任意一条连接两座谷仓的边两端颜色不同。

保证 NN 个谷仓之间的连接不包含任何简单环;也就是说,这些谷仓和路径构成一棵树。

请你计算,有多少种方式可以为所有谷仓涂色(部分谷仓的颜色已经固定),使得相邻谷仓颜色不同。答案对 109+710^9 + 7 取模。

输入格式

第一行包含两个整数 NNKK0KN0 \le K \le N),分别表示谷仓数量和已经被涂色的谷仓数量。

接下来 N1N-1 行,每行包含两个整数 x,yx, y1x,yN,xy1 \le x, y \le N, x \ne y),表示谷仓 xx 和谷仓 yy 之间有一条无向路径。

接下来 KK 行,每行包含两个整数 b,cb, c1bN,1c31 \le b \le N, 1 \le c \le 3),表示谷仓 bb 已经被涂成颜色 cc

保证给出的图是一棵树,且不会对同一个谷仓给出相互矛盾的颜色要求(即不存在一个谷仓既被指定为颜色 11 又被指定为颜色 22 的情况)。

输出格式

输出一个整数,表示给所有谷仓涂色的合法方案数,答案对 109+710^9+7 取模。

输入输出样例

  • 输入#1

    4 1
    1 2
    1 3
    1 4
    4 3

    输出#1

    8
首页