def main(): n, k = map(int, input().split()) a = list(map(int, input().split())) # dp[i][j][flg] = 前からi個見て、j個削除していて、i個目を削除した inf = float("inf") 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): # 削除しないとき dp[i + 1][j][0] = max(dp[i + 1][j][0], dp[i][j][0], dp[i][j][1]) # 削除するとき if j < k: dp[i + 1][j + 1][1] = max(dp[i + 1][j + 1][1], dp[i][j][0] + a[i]) ans = max(dp[n][k][flg] for flg in range(2)) if ans == -inf: print("Impossible") else: print(ans) if __name__ == "__main__": main()