#USACO2266. 牲畜阵形

    ID: 788 Type: Default File IO: lineup 1000ms 128MiB Tried: 2 Accepted: 2 Difficulty: 10 Uploaded By: Tags>USACO2019DecemberContestBronze

牲畜阵形

题目描述

每天,农夫约翰都要给他的 88 头奶牛挤奶。

她们的名字分别是 Bessie,Buttercup,Belinda,Beatrice,Bella,Blue,Betsy,和 Sue。

不幸的是,这些奶牛相当难以伺候,她们要求约翰以一种符合 NN 条限制的顺序给她们挤奶。

每条限制的形式为 “XX必须紧邻着 YY 挤奶”,要求奶牛 XX 在挤奶顺序中必须紧接在奶牛 YY之后,或者紧接在奶牛 YY之前。

请帮助约翰求出一种满足所有限制的奶牛挤奶顺序。

保证这样的顺序是存在的。

如果有多种顺序都满足要求,请输出字典序最小的一种。

也就是说,第一头奶牛需要是所有可能排在任意合法奶牛顺序的第一位的奶牛中名字字典序最小的。

在所有合法的以这头字典序最小的奶牛为首的奶牛顺序中,第二头奶牛需要是字典序最小的,以此类推。

输入格式

输入的第一行包含 NN

以下 NN 行每行包含一句句子,以 “X must be milked beside Y” 的格式描述了一条限制,其中X X YY为约翰的某些奶牛的名字(上文列举了八个可能的名字)。

输出格式

请用8 8 行输出一个奶牛的顺序,每行输出一头奶牛的名字,满足所有的限制。

如果由多种顺序符合要求,输出字典序最小的奶牛顺序。

样例

3
Buttercup must be milked beside Bella
Blue must be milked beside Bella
Sue must be milked beside Beatrice​
Beatrice
Sue
Belinda
Bessie
Betsy
Blue
Bella
Buttercup​

提示

1N71≤N≤7