import sys def input(): return sys.stdin.readline().rstrip() def ii(f=int): return f(input()) def mi(f=int): return map(f, input().split()) def li(f=int): return list(map(f, mi())) N, K = mi() A = li() dp = [[[-10**18] * 2 for i in range(K+1)] for k 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], max(dp[i][j][0], dp[i][j][1])) if j + 1 <= 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][0], dp[N][K][1]) if ans < -10 ** 16: ans = "Impossible" print(ans)