GHOST는 지루한 학생들이 긴 이동 중에 즐기는 철자 게임이다. 목표는 어떤 단어의 시작 부분이 되도록 글자를 이어 붙이되, 실제로 단어를 완성하지는 않는 것이다. 게임을 시작하기 전에 참가자들은 차례 순서를 정한다. 차례는 한 사람에서 다음 사람으로 넘어가고, 마지막 사람 다음에는 다시 첫 번째 사람으로 돌아오며 게임이 끝날 때까지 반복된다. 자기 차례에 각 참가자는 다음 세 가지 중 정확히 하나를 해야 한다: 현재 글자열을 늘리기, 허풍 치기, 이의 제기하기.
P를, 두 번째 사람이 (play를 생각하며) L을, 세 번째 사람이 (please를 생각하며) E를 부를 수 있다. 실제로 4글자 이상인 올바른 단어를 완성한 사람은 진다. 참가자가 세 명뿐일 때 PLE 다음에 첫 번째 사람이 (plead를 노리고) A를 붙이면, 이미 plea가 올바른 단어이므로 진다.컴퓨터 참가자로서 GHOST의 한 차례를 두는 프로그램을 작성하라. 뛰어난 참가자는 단순히 올바른 확장 글자 하나를 찾는 데 그치지 않고, 그 글자열이 자라날 수 있는 모든 단어를 참가자 수와 견주어, 훗날 자기 차례에 어쩔 수 없이 단어를 완성하게 되는 일이 없도록 한다.
입력은 하나 이상의 시나리오로 이루어진다.
각 시나리오는 다음과 같이 주어진다.
a–z 글자로만 이루어지며, 앞뒤나 중간에 공백이 없다. 빈 줄이 단어 목록의 끝을 알린다.각 시나리오마다 정확히 한 줄을 출력한다. 입력에 주어진 현재 글자열, 그 뒤에 공백 하나, 그 뒤에 다음 중 하나를 이어 쓴다.
Challenge — 현재 글자열 자체가 사전에 있는 단어이거나, 사전의 어떤 단어의 접두사도 아닐 때.c가 올바른 확장이 되려면: 글자열 뒤에 c를 붙인 것이 어떤 단어의 접두사여야 하고; 그 확장된 글자열 자체가 4글자 이상인 단어를 완성해서는 안 되며; 확장된 글자열로 시작하는 사전의 단어 $W$가 있어, $W$의 남은 글자들을 한 차례에 하나씩 이어 쓸 때 도중에 처음으로 완성되는 4글자 이상 단어가 컴퓨터의 차례에 놓이지 않아야 한다. 조건을 만족하는 글자가 여럿이면 사전순으로 가장 앞선 글자를 출력한다.Bluff — 확장이 하나 이상 존재하지만, 모든 확장이 결국 컴퓨터 자신이 단어를 완성하도록 몰아넣을 때.