Change the prune condition

Change-Id: I92aef12e0e1d89cfe1b346ddc6ef4df158ffe0b3
diff --git a/native/src/unigram_dictionary.cpp b/native/src/unigram_dictionary.cpp
index 9f8f04e..b95da99 100644
--- a/native/src/unigram_dictionary.cpp
+++ b/native/src/unigram_dictionary.cpp
@@ -808,7 +808,8 @@
             }
         }
         // Optimization: Prune out words that are too long compared to how much was typed.
-        if (correctionState->getOutputIndex() >= maxDepth || diffs > mMaxEditDistance) {
+        if (isTerminal
+                && (correctionState->getOutputIndex() >= maxDepth || diffs > mMaxEditDistance)) {
             // We are giving up parsing this node and its children. Skip the rest of the node,
             // output the sibling position, and return that we don't want to traverse children.
             if (!isLastChar) {