#agc008f. [agc008_f]Black Radius

[agc008_f]Black Radius

题目描述

有一棵 NN 个顶点的树。顶点从 11NN 编号。对于每个 1iN11 ≤ i ≤ N-1,第 ii 条边连接顶点 aia_ibib_i。所有边的长度为 11

Snuke 喜欢其中一些顶点。他喜欢的顶点的信息以一个长度为 NN 的字符串 ss 给出。对于每个 1iN1 ≤ i ≤ N,若 Snuke 喜欢顶点 ii,则 sis_i1,否则为 0

初始时,所有顶点都是白色的。Snuke 将执行以下操作一次:

  • 选择一个他喜欢的顶点 vv,和一个非负整数 dd。然后,将所有距离 vv 不超过 dd 的顶点涂成黑色。

找出操作后可能的顶点颜色组合的数量。

约束条件

  • 2N2×1052 ≤ N ≤ 2×10^5
  • 1ai,biN1 ≤ a_i, b_i ≤ N
  • 给定的图是一棵树。
  • s=N|s| = N
  • ss01 组成。
  • ss 中至少包含一个 1

分数说明

  • 在价值 13001300 分的测试集中,ss 仅包含 1

输入

输入以以下格式从标准输入给出:

NN a1a_1 b1b_1 a2a_2 b2b_2 :: aN1a_{N - 1} bN1b_{N - 1} ss

输出

打印操作后可能的顶点颜色组合的数量。


示例 1

4
1 2
1 3
1 4
1100

输出 1

4

有以下四种可能的顶点颜色组合:

334d566ec1f4f38d23cd580044f1cd07.png


示例 2

5
1 2
1 3
1 4
4 5
11111

输出 2

11

此示例满足部分得分的额外约束条件。


示例 3

6
1 2
1 3
1 4
2 5
2 6
100011

输出 3

8