#arc121f. [arc121_f]Logical Operations on Tree

[arc121_f]Logical Operations on Tree

题目描述

给定一个有NN个顶点编号为11NN的树。

ii条边连接着顶点aia_ibib_i

Snack将每个顶点标记为01,每条边标记为ANDOR。在22N12^{2N-1}种标记顶点和边的方式中,找到满足以下条件的方式数量,结果对998244353998244353取模:

条件:存在一系列N1N-1次操作,以顶点标记为1结束,其中每个操作由以下步骤组成:

  • 选择一条边并收缩它。在这里,令xxyy为被抹去顶点的标记,mathrmop\\mathrm{op}为被抹去边的标记。
  • 如果mathrmop\\mathrm{op}AND,那么用mathrmAND(x,y)\\mathrm{AND}(x,y)标记新的顶点;如果mathrmop\\mathrm{op}OR,那么用mathrmOR(x,y)\\mathrm{OR}(x,y)标记新的顶点。

说明

  • 操作mathrmAND\\mathrm{AND}的定义如下:$\\mathrm{AND}(0,0)=(0,1)=(1,0)=0,\\mathrm{AND}(1,1)=1$。
  • 操作mathrmOR\\mathrm{OR}的定义如下:$\\mathrm{OR}(1,1)=(0,1)=(1,0)=1,\\mathrm{OR}(0,0)=0$。
  • 在收缩连接顶点sstt的边时,我们合并这两个顶点,并移除该边。在收缩后,如果在收缩之前存在连接ssuu或连接ttuu的边,那么现在新的顶点和顶点uu之间就有一条边。

约束条件

  • 输入中的所有值都是整数。
  • 2N1052 \leq N \leq 10^5
  • 1ai,biN1 \leq a_i, b_i \leq N
  • 给定的图是一棵树。

输入

从标准输入读入数据,格式如下:

NN a1a_1 b1b_1 \vdots aN1a_{N-1} bN1b_{N-1}

输出

打印满足题目描述中条件的标记树的方式数量,结果对998244353998244353取模。


示例输入 1

2
1 2

示例输出 1

4

示例输入 2

20
7 3
20 18
16 12
7 2
10 5
18 16
16 3
4 11
7 15
8 1
6 1
12 13
15 5
19 17
7 1
9 8
7 17
16 14
11 7

示例输出 2

283374562
  • 注意将结果对 998244353998244353 取模。