double array trie algorithm golang