Bạn có một thanh dài . Cần cắt nó thành đúng đoạn có độ dài ; tổng các độ dài này bằng .
Trong một thao tác, chọn một đoạn hiện có và cắt nó thành hai đoạn có độ dài nguyên dương. Chi phí của thao tác bằng độ dài của đoạn trước khi cắt.
Hãy tìm tổng chi phí nhỏ nhất để thu được đúng multiset độ dài yêu cầu.
Input
- Dòng đầu chứa hai số nguyên .
- Dòng thứ hai chứa số nguyên dương .
Output
- In tổng chi phí nhỏ nhất.
Constraints
- .
- .
- với mọi .
- .
Scoring
- Subtask ( số điểm): và .
- Subtask ( số điểm): không có giới hạn bổ sung.
Example
Test 1
Input
10 4 1 2 3 4
Output
19
Giải thích: Có thể tạo hai đoạn bằng cách tách theo chiều ngược tương ứng với các lần ghép , rồi . Tổng chi phí là .