@SuppressWarnings({ "unchecked", "rawtypes" })
	public void add(String word) {
		if (word.length() > max_len)
			max_len = word.length();
		HashMap<Integer, HashMap> head = trie;
		HashMap<Integer, HashMap> temp;
		for (int i = 0; i < word.length(); i++) {
			temp = head.get(escape(word.charAt(i)));
			if (temp == null) {
				temp = new HashMap<Integer, HashMap>(5);
				head.put(escape(word.charAt(i)), temp);
			}
			head = temp;
		}
		head.put(EndFlag, null);
	}