logo AlgoBeat OnlineJudge
登录 注册

#214034. [ICPC 2023 Nanjing R] 等价重写

内存限制:1024 MiB 时间限制:2000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

有一个长度为 的序列 ,所有元素均为 。接下来我们将依次对 执行 个操作。第 个操作可记为 个不同的整数 ,表示对于所有 ,我们将把序列中第 个元素的值改为 。令 表示所有操作后的结果序列。

我们现在要求您重新排列这些操作,但保持最终的结果不变。更正式地,令 表示一个 的排列,且与 不同。您将会依次对序列 执行第 ,..., 个操作,最终的结果序列必须和 相同。您的任务就是找到这样的排列,或表明其不存在。

请回忆:一个 的排列是一个长度为 的序列,每个从 (含两端)的整数在其中都恰好出现一次。令 为两个 的排列,我们称它们是不同的,若存在整数 满足

输入格式

有多组测试数据。第一行输入一个整数 表示测试数据组数,对于每组测试数据:

第一行输入两个整数 )表示操作的数量和序列的长度。

对于接下来 行,第 行首先输入一个整数 )表示第 个操作修改的元素数量。接下来输入 个不同的整数 )表示被修改的元素下标。

保证所有数据 之和不超过 ,且所有数据 之和不超过

输出格式

对于每组测试数据:

如果存在所求的排列,首先输出一行 。接下来在第二行输出 个由单个空格分隔的整数 表示答案。如果有多种合法答案,您可以输出任意一种。

如果不存在所求的排列,仅需输出一行

请不要在行末输出多余空格,否则您的答案可能会被认为是错误的!

样例

样例输入 1

3
3 6
3 3 1 5
2 5 3
2 2 6
2 3
3 1 3 2
2 3 1
1 3
2 2 1

样例输出 1

Yes
3 1 2
No
No

数据范围与提示

对于第一组样例数据,按 的顺序执行操作,结果序列均为