[1] finish lz77 implement