hard dp (113,518 results)