def spy(input)
      if (mission = find_mission(input))
        puts mission.match_message, "Possible completions: #{mission.execute.inspect}",
          "Matches for #{mission.condition.inspect} are #{mission.matched.to_a.inspect}"
      else
        puts "Doesn't match a completion."
      end
    rescue FailedMissionError => e
      puts e.mission.match_message, e.message,
        "Matches for #{e.mission.condition.inspect} are #{e.mission.matched.to_a.inspect}"
    end
def spy(input)
      if (mission = find_mission(input))
        puts mission.match_message, "Possible completions: #{mission.execute.inspect}",
          "Matches for #{mission.condition.inspect} are #{mission.matched.to_a.inspect}"
      else
        puts "Doesn't match a completion."
      end
    rescue FailedMissionError => e
      puts e.mission.match_message, e.message,
        "Matches for #{e.mission.condition.inspect} are #{e.mission.matched.to_a.inspect}"
    end
Given a hypothetical user input, reports back what mission it would have
 found and executed.