source code (Inform 7)
solution transcript