几家初创公司决定携手打造更美好的互联网,并将其命名为“FiberNet”。它们已经在世界各地安装了许多充当路由器的节点。不幸的是,大家很快就在连接线路的问题上闹起了矛盾,结果每家公司都在部分节点之间铺设了自己的一套电缆。
如今,想要将数据从节点 A 发送到节点 B 的服务提供商们很想知道:究竟有哪些公司能够提供所需的连接?请你帮助这些服务商回答他们的查询
输入包含多组测试数据。每组测试数据首先给出网络中的节点数 n。当 n = 0 时输入结束。否则,1 \le n \le 200。节点编号为 1, \dots, n。
接下来是一系列连接信息。每条连接首先给出两个数字 A, B。当 A = B = 0 时,连接列表结束。否则,1 \le A, B \le n,分别表示一条单向连接的起点和终点。在这两个节点之后,会给出所有拥有从节点 A 到节点 B 的连接的公司。每家公司用一个小写字母表示。所有相关公司组成一个仅由小写字母构成的单词。
连接列表之后,是本组测试数据的查询列表。每次查询包含两个数字 A, B。当 A = B = 0 时,查询列表(以及当前测试数据)结束。否则,1 \le A, B \le n,分别表示查询的起点和终点。可以假设,没有任何连接或查询会包含相同的起点和终点。
对于每组测试数据中的每次查询,输出一行,列出所有能够仅利用自家连接,将数据包从查询起点送达到终点的公司编号。如果没有任何公司满足条件,则输出 -。每组测试数据结束后输出一个空行。
3 1 2 abc 2 3 ad 1 3 b 3 1 de 0 0 1 3 2 1 3 2 0 0 2 1 2 z 0 0 1 2 2 1 0 0 0
ab d - z -