选择
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

由于一些原因, Cubercsl 又送了 Compute 一个长度为 n 的数组。

但是 Cubercsl 的兴趣很奇怪,他要求 Compute 从中选恰好  个才能拿走,并且不能选择在数组中相邻的数。

同时,Compute 也有着奇怪的癖好 --- 他一定会选择第 x 个数。

既然能拿,Compute 当然想要越多越好。即他想知道,他能拿走的数的和最大是多少。

输入描述:

第一行输入两个数 n,x (, ),表示数组的长度和 Compute 一定会选的数的位置。

第二行输入 n 个整数 (),中间以空格分割。

输出描述:

在一行中输出一个整数,表示 Compute 能拿走的数的和的最大值。
示例1

输入

复制
6 1
1 2 3 4 5 6

输出

复制
11
示例2

输入

复制
5 3
-1000000000 -1000000 -1000 0 1000000000

输出

复制
999999000