very hard dp(135 119 results)