very hard dp(135 244 results)