def chmax(DP,i,v): if DP[i] < v: DP[i] = v def chmin(DP,i,v): if DP[i] > v: DP[i] = v def main(): INF = 1e18 N, K = map(int, input().split()) if K > (N + 1)//2: exit(print('Impossible')) A = list(map(int, input().split())) dp = [[-INF] * (2) for _ in range(K + 1)] dp[0][1] = 0 for i in range(N): ndp = [[-INF] * (2) for _ in range(K + 1)] a = A[i] for j in range(K + 1): for k in range(2): if dp[j][k] == -INF: continue # 不採用(削除しない) # dp[i + 1][j][k|1] chmax(ndp[j], k|1, dp[j][k]) # 採用(削除) # dp[i + 1][j + 1][0] if k == 1 and j + 1 <= K: chmax(ndp[j + 1], 0, dp[j][k] + a) dp = ndp ans = max(dp[-1]) print(ans) if __name__ == "__main__": main()