N,K = map(int,input().split()) A = list(map(int,input().split())) INF = 10**18 dp = [[-INF]*(K+1) for _ in range(2)] dp[0][0] = 0 for a in A: ndp = [[-INF]*(K+1) for _ in range(2)] for k in range(K+1): ndp[0][k] = max(dp[0][k], dp[1][k]) if k and dp[0][k-1] != -INF: ndp[1][k] = max(ndp[1][k], dp[0][k-1] + a) dp = ndp ans = max(dp[0][K], dp[1][K]) print('Impossible' if ans==-INF else ans)