很久以前,有一个医术非常高明的医生,曾经医治好了很多怪病。但是,他开出的药方的字迹却是十分难辨认的,只有他自己和他自己的药剂师才能够读懂他的药方。有时候,甚至是两个不同的药方的同一种药都是难以鉴别出的。
不过,这个医生在开药方的时候,习惯有一个固定的标准模式。他有一个药材库,里面共有n种药,除了这n种药,他不会使用任何其他的药。对于每一种药,都有一个关于它的后续药的集合,只有这种药的后续药才能够出现在这种药的下一个位置。当然,任何一种药都可能同时是几种药的后续药。
这个医生开出的药方是一个列表的形式。在他的一个药方中,一种药只可能出现一次。更奇怪的是,当他开出一种药盒它的后续药以后,这种药的其他后续药就不可能出现在之后的序列中。后来,一些书法家和医生共同分析了这个医生的大量的药方,写出了他的所有药的清单。这里我们用n个整数1,2,...,n来依次表示他的n种药。同时,他们分析了每一种药的可能的后续药的药单。
现在,有一个关于这个医生的药方,药方中写有p种药。可惜的是,药方中有一些药并没有具体辨别出。那么,请你写一个程序,帮忙辨别出药方中不确认的药。当然,对于不确定的药方,可能可以构造出多种不同的药方,那么请你找出所有的情况。