N, K = map(int, input().split()) A = list(map(int, input().split())) if N < 2 * (K - 1) + 1: print('Impossible') exit() INF = 10**20 dp = [[[-INF]*2 for _ in range(K + 1)] for _ in range(N + 1)] dp[0][0][0] = 0 for i in range(N): for j in range(K + 1): if dp[i][j][0] != -INF: dp[i+1][j][0] = max(dp[i+1][j][0], dp[i][j][0]) if j+1 <= K: dp[i+1][j+1][1] = max(dp[i+1][j+1][1], dp[i][j][0] + A[i]) if dp[i][j][1] != INF: dp[i+1][j][0] = max(dp[i+1][j][0], dp[i][j][1]) print(max(dp[-1][-1]))