def chmax(DP,i,v): if DP[i] < v: DP[i] = v def chmin(DP,i,v): if DP[i] > v: DP[i] = v 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)] for _ in range(N + 1)] dp[0][0][1] = 0 for i in range(N): a = A[i] for j in range(K + 1): for k in range(2): if dp[i][j][k] == -INF: continue # 不採用(削除しない) # dp[i + 1][j][k|1] chmax(dp[i + 1][j], k|1, dp[i][j][k]) # 採用(削除) # dp[i + 1][j + 1][0] if k == 1 and j + 1 <= K: chmax(dp[i + 1][j + 1], 0, dp[i][j][k] + a) ans = max(dp[-1][-1]) print(ans)