#include using namespace std; int main(void){ int n,k; cin>>n>>k; long long INF=-1e18; vector>dp(k+1,{INF,INF}); dp[0][0]=0; for(int i=0;i>a; vector>ndp(k+1,{INF,INF}); for(int j=0;j<=k;j++){ ndp[j][0]=max(dp[j][0],dp[j][1]); if(j!=0)ndp[j][1]=dp[j-1][0]+a; } dp=ndp; } cout<<(max(dp[k][0],dp[k][1])<-1e16?"Impossible":to_string(max(dp[k][0],dp[k][1])))<