import sys import math # 入力高速化 #input = sys.stdin.readline # 再帰回数上限 sys.setrecursionlimit(10**9) # よくあるmod #MOD = 1000000007 MOD = 998244353 def is_inside(y, x, h, w): return (0 <= y < h and 0 <= x < w) def solve(): N, K = map(int, input().split(' ')) A = list(map(int, input().split(' '))) if K > (N+1) // 2: print("Impossible") return dp = [[-10**18] * (K+1) for _ in range(N+1)] dp[0][0] = 0 for i in range(N): dp[i+1][0] = dp[i][0] if i == 0: dp[i+1][1] = A[i] for k in range(K): dp[i+1][k+1] = max(dp[i][k+1], dp[i+1][k+1]) if i >= 1: dp[i+1][k+1] = max(dp[i+1][k+1], dp[i-1][k] + A[i]) ans = -1 for i in range(N+1): ans = max(ans, dp[i][K]) print(ans) if __name__ == '__main__': T = 1 for _ in range(T): solve()