Optimal Lossless Data Compression: Non-Asymptotics and Asymptotics | Synapse