LZW compression algorithm source code