Hard problem (10/30)

Hard problem