very hard dp(121 578 results)