n, m = map(int, input().split()) w = list(map(int, input().split())) INF = 10 ** 9 dp0 = [[-INF, -INF] for i in range(m+1)] dp1 = [[-INF, -INF] for i in range(m+1)] dp0[0][0] = 0 dp1[1][1] = 0 for i in range(n-1): ndp0 = [[-INF, -INF] for i in range(m+1)] ndp1 = [[-INF, -INF] for i in range(m+1)] for j in range(m+1): ndp0[j][0] = max(dp0[j][0], dp0[j][1]) ndp1[j][0] = max(dp1[j][0], dp1[j][1]) for j in range(m): ndp0[j+1][1] = max(ndp0[j+1][1], dp0[j][0], dp0[j][1] + w[i]) ndp1[j+1][1] = max(ndp1[j+1][1], dp1[j][0], dp1[j][1] + w[i]) dp0 = [x[:] for x in ndp0] dp1 = [x[:] for x in ndp1] # print(dp0) # print(dp1) dp1[-1][1] += w[-1] print(max(max(dp0[-1]), max(dp1[-1])))