#include <bits/stdc++.h>
using namespace std;
char a[100005];
long long n,l,dp[10005][10005],b[100005];
int num(int l,int r)
{
int ans=0;
for(int i=l;i<=r;i++)
{
ans+=b[i];
}
return ans;
}
int main()
{
cin>>n>>l;
for(int i=1;i<=n;i++)
{
cin>>b[i];
}
for(int i=1;i<=n;i++)
{
dp[i][1]=num(1,i);
}
for(int i=1;i<=n;i++)
for(int k=1;k<=l;k++)
for(int j=k-1;j<=i;j++)
dp[i][k]=max(dp[i][k],dp[j][k-1]*num(j+1,i));
cout<<"1 "<<dp[n][1]<<endl;
for(int i=2;i<n;i++)
cout<<dp[n][i-1]+1<<" "<<dp[n][i]<<endl;
}
部分代码参照“乘积最大”