#include using namespace std; int main(){ cin.tie(nullptr)->ios::sync_with_stdio(false); int N,K; cin>>N>>K; vector A(N); for(int i=0;i>A[i]; const long long INF=1ll<<60; vector dp(2,vector(K+1,-INF)); dp[0][0]=0; for(int i=0;i(K+1,-INF)); for(int j=0;j<2;j++) for(int k=0;k<=K;k++){ ndp[0][k]=max(ndp[0][k],dp[j][k]); if(!j and k!=K){ ndp[1][k+1]=max(ndp[1][k+1],dp[0][k]+A[i]); } } swap(dp,ndp); } const long long ans=max(dp[0][K],dp[1][K]); if(ans<=-10000000000000000) cout<<"Impossible\n"; else cout<