1262 - 分割数组的最大值

通过次数

6

提交次数

13

Time Limit : 1 秒
Memory Limit : 128 MB

给定一个非负整数数组 nums 和一个整数 m ,你需要将这个数组分成 m 个非空的连续子数组。

设计一个算法使得这 m 个子数组各自和的最大值最小。

Input

第一行为整数n,表示数组中有n个整数

第二行为个整数,表示数组中的元素

第三行为整数m,表示要分割的组数

Output

m个子数组各自和的最大值

Examples

Input

5
7 2 5 10 8
2

Output

18

Input

5
1 2 3 4 5
2

Output

9

Input

3
1 4 4
3

Output

4

Hint

1 \leq nums.length \leq 1000

0 \leq nums[i] \leq 10^6

1 \leq m \leq min(50, nums.length)