hard dp (112,055 results)