dp first

.