hard dp (111,045 results)