hard dp (109,413 results)