Haffman Algo