1: Optimal Prefix Codes with Fewer Distinct Codeword Lengths are Faster to Construct 2: The Dynamics of Viral Marketing