Author: Peter Van Emde Boas