Hard problem (25/30)

Hard problem