#include using namespace std; #define rep(i,n) for(int i=0;i<(int)(n);i++) #define rrep(i,n) for(int i=(int)(n-1);i>=0;i--) #define ALL(v) v.begin(),v.end() #define RALL(v) v.rbegin(),v.rend() template using V=vector; template using VV=V>; using u128=__int128_t; using ll=long long; ll dp[100100][55][2]; const ll INF=1e18; int main(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); rep(i,100100) rep(j,55) rep(l,2) dp[i][j][l]=-INF; int n,k; cin>>n>>k; V A(n); rep(i,n) cin>>A[i]; dp[0][0][0]=0; rep(i,n) rep(j,k+1){ dp[i+1][j][0]=max(dp[i+1][j][0],dp[i][j][0]); dp[i+1][j][0]=max(dp[i+1][j][0],dp[i][j][1]); if(dp[i][j][0]!=-INF && j+1<=k) dp[i+1][j+1][1]=max(dp[i+1][j+1][1],dp[i][j][0]+A[i]); } ll ans=max(dp[n][k][0],dp[n][k][1]); if(ans==-INF) cout<<"Impossible"<