Coupling Distributed and Symbolic Execution for Natural Language Queries