#include<bits/stdc++.h>
using namespace std;
int m,k;
int o=0;
int a[600];
pair<int,int> r[600];
int len=0;
bool IF(int ans)
{
int u=0;
int ret=0;
for(int i=1;i<=m;i++)
{
u+=a[i];
if(u>ans)
{
u=a[i];
ret++;
}
else if(u==ans&&i<m)
{
u=0;
ret++;
}
}
if(u>ans)
{
ret++;
}
if(ret>=k)
{
return 0;
}
else
{
return 1;
}
}
int find()
{
int left=0;
int right=o;
while(left<right)
{
int mid=(right + left) >> 1;
if(IF(mid)==0)
{
left=mid + 1;
}
else
{
right=mid - 1;
}
}
return left;
}
int main()
{
cin>>m>>k;
for(int i=1;i<=m;i++)
{
cin>>a[i];
o+=a[i];
}
int t=find();
int u=0;
len=0;
r[len].second=m;
for(int i=m;i>=1;i--)
{
u+=a[i];
if(u>t)
{
r[len++].first=i+1;
u=a[i];
r[len].second=i;
continue;
}
if(u==t&&i>1)
{
r[len++].first=i;
u=0;
r[len].second=i-1;
continue;
}
if(u==t&&i==1)
{
r[len].first =1;
continue;
}
}
if(u<t)
{
r[len].first=1;
}
for(int i=len;i>=0;i--)
{
cout<<r[i].first<<" "<<r[i].second<<endl;
}
return 0;
}