#L6890. 「THUPC 2023」大纲

「THUPC 2023」大纲

题目描述

小 I、小 O 和小 N 是 ION 大纲的编写者,小 I 负责给每个知识点定难度。

ION 大纲计划列入 nn 个知识点,其中小 I 按照自己的认识给其中部分知识点定好了难度,还有部分知识点没有定难度。

知识点之间有依赖关系,这个依赖关系恰好构成了一棵以 11 为根的外向树,知识点 xx 指向知识点 yy 表示 xx 依赖 yy。依赖关系不具有传递性。

你需要告诉小 I 目前确定下来的难度是否合理。我们认为确定下来的难度是合理的当且仅当存在一个给所有未确定难度的知识点确定难度的方式,使得以下所有条件成立:

  1. 每个知识点的难度都是非负整数;

  2. 对于每个依赖其他知识点的知识点 xx,设 maxx\max_xxx 依赖的知识点中难度的最大值,则:

    • 如果 xx 恰依赖一个难度为 maxx\max_x 的知识点,那么知识点 xx 的难度为 maxx\max_x
    • 否则为 maxx+1\max_x+1

    对于不依赖其他知识点的知识点,没有其他限制。


输入格式

本题有多组测试数据。第一行一个整数 TT 表示测试数据组数,接下来依次读入每组测试数据。

对于每组测试数据:

  • 第一行一个整数 nn 表示知识点数量。
  • 第二行 nn 个整数 a1,a2,,ana_1,a_2,\cdots,a_n,描述每个知识点的难度。若 ai=1a_i = -1 表示知识点 ii 未确定难度,否则知识点 ii 的难度确定为 aia_i
  • 接下来 n1n-1 行每行两个整数 u,vu,v,表示依赖关系构成的外向树中的一条有向边。

输出格式

对于每组测试数据输出一行:若难度是合理的,输出 Reasonable,否则输出 Unreasonable


样例

输入:

2
3
0 -1 0
1 2
2 3
3
0 -1 0
1 2
1 3

输出:

Reasonable
Unreasonable

解释:

  • 对于第一组数据,将知识点 22 的难度定为 00 即满足条件。
  • 对于第二组数据,无论如何指定知识点 22 的难度,知识点 11 的难度会产生矛盾。

数据范围与提示

对于所有测试数据:

  • 1T1051 \le T \le 10^5
  • 2n1052 \le n \le 10^5
  • 1ai109-1 \le a_i \le 10^9
  • 1u,vn1 \le u,v \le n

保证单个测试点中所有测试数据的 nn 的和不超过 2×1052 \times 10^5,每组测试数据输入的所有边构成一棵以 11 为根的外向树。