$N$ 支队伍计划参加全西伯利亚程序设计竞赛(All-Siberian Programming Contest),但目前还没有队伍注册。注册完成后,所有队伍将按其名称的字典序进行排序。竞赛组委会想要知道最终名单中队伍的顺序。他们做了一些小研究。通过研究各队伍在其他比赛中的表现,组委会为每支队伍整理了一份可能使用的名称列表。他们发现,编号为 $i$ 的队伍可以使用其喜爱的名称 $S_{i1}, \dots, S_{iK_i}$ 中的任意一个进行注册。
现在问题来了。他们的小研究是否完全无用?换句话说,队伍在最终名单中的顺序是否可能是任意一种排列?如果不是,组委会至少希望知道一种不可能出现的队伍顺序。
输入格式
输入的第一行包含一个整数 $N$ — 队伍的数量($1 \le N \le 350$)。接下来是 $N$ 个行块,每个行块描述一支队伍。队伍按在输入中描述的顺序从 $1$ 到 $N$ 进行编号。
第 $i$ 支队伍描述的第一行包含一个正整数 $K_i$。第 $i$ 支队伍的描述块共包含 $K_i + 1$ 行,包括含有数字 $K_i$ 的那一行。接下来的 $K_i$ 行每行包含一个该队伍可能使用的名称:$S_{i1}, \dots, S_{iK_i}$。队伍名称仅包含英文小写字母。每个名称均非空且长度不超过 100 个字符。对于同一支队伍,所有 $K_i$ 个名称都是互不相同的。
保证不同队伍之间没有相同的候选名称。同时保证 $\sum_{i=1}^N K_i \le 350$。
输出格式
如果队伍在名单中的顺序可以是任意一种排列,则输出 YES。
否则,在第一行输出 NO;在第二行输出任意一种不可能出现的队伍顺序,表示为 $N$ 个由空格分隔的整数。其中第 $k$ 个整数表示在按字典序排序后的名单中排在第 $k$ 位的队伍编号。
样例
输入样例 1
3 1 teamname 2 vanechka ivan 4 albatross teddybear vitalya pythonists
输出样例 1
YES
输入样例 2
2 2 geometrylovers epsiszero 1 speedcoderz
输出样例 2
NO 2 1