hard dp (111,833 results)