N, K = map(int, input().split()) a_list = list(map(int, input().split())) dp = [[[-10 ** 18] * 2 for k in range(K + 1)] for n in range(N + 1)] dp[0][0][0] = 0 for n in range(N): a = a_list[n] for k in range(K + 1): dp[n + 1][k][0] = max(dp[n + 1][k][0], dp[n][k][0], dp[n][k][1]) if dp[n][k][0] == -10 ** 18: continue if k != K: dp[n + 1][k + 1][1] = max(dp[n + 1][k + 1][1], dp[n][k][0] + a) if max(dp[N][K]) == -10 ** 18: print("Impossible") else: print(max(dp[N][K]))