Communication complexity studies the amount of communication necessary to compute a function whose value depends on information distributed among several entities. Yao [Yao79] initiated the study of communication complexity more than 40 years ago, and it has since become a central eld in theoretical computer science with many applications in diverse areas such as data structures, streaming algorithms, property testing, approximation algorithms, coding theory, and machine learning. The textbooks [KN06,RY20] provide excellent overviews of the theory and its applications.