주의! 이 문제는 어떤 마술의 비밀을 밝힙니다. 누군가 이 마술을 보여줄 때 여전히 놀라고 싶다면 지금 읽기를 멈추세요.
마술의 내용은 다음과 같습니다. 마술사는 세 개의 문단으로 이루어진 글을 보여 줍니다. 예를 들면:
It was a horribly dark night.
The moon was shining, but not much.
A suspicious stranger entered the
bar and went straight to John Doe.
"I'm searching for aliens, can I
borrow your computer?", he said.
마술사는 당신에게 첫 번째 문단에서 단어 하나를 몰래 고르라고 합니다. 그런 다음 아래 두 단계를 반복합니다.
세 번째 문단의 단어에 도달할 때까지 이 과정을 반복합니다. 그때 도달한 단어가 결과입니다. 당신이 끝났다고 말하면 마술사가 당신이 멈춘 단어를 맞힙니다.
이 문제에서 단어는 알파벳 글자(A-Z, a-z)가 연속된 최대 구간을 뜻합니다. 예를 들어 I'm은 두 개의 단어로 셉니다.
예를 들어 night을 골랐다고 합시다. 글자 수가 5개이므로 다섯 단어(The, moon, was, shining, but)만큼 이동하여 but에 도달합니다. but에서 3단어를 이동하면 A, 다시 1단어를 이동하면 suspicious, 10단어를 이동하면 Doe, 마지막으로 3단어를 이동하면 searching에 도달합니다. searching은 세 번째 문단에 있으므로 결과는 searching입니다.
마술사는 어떻게 항상 결과를 알 수 있을까요? 이 글에서는 첫 번째 문단의 어느 단어에서 시작하더라도 항상 searching으로 끝나기 때문입니다. 새로운 글이 주어졌을 때 가능한 모든 결과를 찾아 마술사를 도와주세요. 실제 단어 외에 가능한 결과로 -outside-가 있는데, 이는 세 번째 문단의 끝을 넘어 이동하는 경우를 뜻합니다. 서로 다른 결과가 세 가지를 초과하면 마술사는 관심이 없습니다.
첫 번째 줄에는 시나리오의 개수가 주어집니다. 각 시나리오는 세 줄로 주어지며, 각 줄은 하나의 문단을 나타냅니다. 어떤 줄도 길이가 100000자를 넘지 않으며, 모든 문단은 적어도 하나의 단어를 포함합니다.
각 시나리오마다 먼저 Scenario #i: 줄을 출력합니다. 여기서 i는 1부터 시작하는 시나리오 번호입니다. 그다음 가능한 모든 결과(-outside-가 포함될 수 있음)를 사전순으로 한 줄에 하나씩 소문자로 출력합니다. 같은 결과를 두 번 이상 나열하면 안 됩니다. 가능한 결과가 세 가지를 초과하면 결과를 하나도 출력하지 말고 대신 -too many-를 출력합니다. 각 시나리오 뒤에는 다음 시나리오와 구분하기 위해 빈 줄을 하나 출력합니다.