Description
Farmer John有N头奶牛,编号是1~N。奶牛们创造出了一套与早上Farmer John给她们挤牛奶的排队顺序相关的复杂的社会阶层系统。
经过几周的研究,Farmer John总结出了M个观察结果,每个观察结果都是其中某些奶牛的有序序列,同时Farmer John也是按照这个顺序给奶牛挤奶。比如,假如Farmer John的一个观察结果是2 5 1,那么Farmer John挤奶时,先给奶牛2挤奶,再给奶牛5挤奶,再给奶牛1挤奶。
Farmer John的观察结果是有优先级的,他的目标是最大化X的值,使得他挤奶的顺序能够同时满足前X个观察结果。当有多个挤奶顺序都能满足前X个观察结果的时候,按照长期以来他坚信的传统,编号较小的奶牛的地位高于编号较大的奶牛,所以Farmer John会采用字典序最小的那个顺序进行挤奶。
字典序较小的意思是:在顺序x和顺序y中,存在某个j,对所有的i<j都满足xi=yi,并且xj<yj(也就是说,顺序x和顺序y,前i个都是相同的,在j这个位置xj<yj),那么顺序x就是小于顺序y。
Input
第一行:两个整数N和M,分别代表奶牛的数量和观察结果的数量。(1≤N≤10^5;1≤M≤50000)
接下来M行,每行都是一个观察结果,每个观察结果中的第一个数字是这个观察结果中奶牛的数量mi;后面是mi个整数,表示这个观察结果中奶牛的顺序。所有mi的和最大是200000
Output
一行,用空格隔开的N个整数,表示Farmer John对这N个奶牛挤奶的最佳顺序。
4 3
3 1 2 3
2 4 2
3 3 4 1
HINT
样例说明:
样例中,FarmerJohn有四头奶牛,三种观察结果分别是:奶牛1在奶牛2之前、奶牛2在奶牛3之前(第一个观察结果),奶牛4在奶牛2之前(第二个观察结果);奶牛3在奶牛4之前、奶牛4在奶牛1之前(第三个观察结果)。
前两个观察结果可以同时被满足,但是Farmer John不能同时满足所有的观察结果,因为这样的话会要求奶牛1在奶牛3之前,同时奶牛3在奶牛1之前。
所以总共有两种可能的挤奶顺序:1 4 2 3和4 1 2 3,而第一种是字典序较小的。