https://timesnewgeek.blogspot.com/2017/12/huffman-coding-and-huffman-trees-how.html