Problems 2, 3 and 4 - solved