Написать программу, сжимающую данные из некоторого файла по алгоритму Хаффмана. Программа должна выполнять следующие действия: **Сжатие данных:** 1. Открывать файл, подлежащий сжатию, как бинарный файл байтов. 2. Подсчитывать частоту вхождения каждого байта в файле. 3. По имеющимся частотам строить дерево Хаффмана. 4. Создавать новый файл-архив. 5. Записывать в файл-архив заголовок – байты с частотами их вхождения. 6. Последовательно считывать байты исходного файла, кодировать их и записывать в файл-архив. **Распаковка данных:** 1. Открывать файл-архив. 2. Считывать из файла-архива заголовок и строить по нему дерево Хаффмана. 3. Последовательно считывать байты файла-архива, анализировать байты побитно с помощью дерева Хаффмана и записывать найденные в дереве байты в новый файл.