给定一个有向图,每个节点关联于一群人。这N群人按照某个特定的顺序进行以下操作:
到达并占领他们关联的节点;
从他们占领的某个节点u出发,走到与其相邻的每个点v。如果点v已经被人占领,他们会边(uv)上发生冲突,并不再在这个方向上前进;否则,他们会占领点v,并重复这一步,直到没有能到达的点为止。
如果他们关联的节点在此前被别的人群占领,他们不会与那群人发生冲突。在这种情况下,他们什么都不做。
给定该图,以及发生冲突的边集。求一种人群的行动顺序,使得发生冲突的边集与输入相符。
以样例为例。关联于点8的人群首先行动,占领点8;接下来关联于点5的人群行动,占领点456(与4相连的点集);关联于点6的人群出动,因为点6已经被占领,他们什么都不做;人群2占领点23;人群3什么都不做;人群1占领点1,并在边<14>和<18>上引发冲突;人群7占领点7并在边<71>和<74>上引发冲突;人群4什么都不做。
输入的第一行包含两个整数NM,含义是点数和边数。
接下来M行,每行三个整数ABC,表示有向边A->B,如果C=1,则这条边上发生了冲突。
如果没有任何顺序满足题意,输出-1。