very hard dp(134 165 results)