#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream in("secv2.in");
ofstream out("secv2.out");
int n,k,i; in >> n >> k;
struct Data { int number; int sum; int length = 1; };
Data v[n+1];
in >> v[1].number; v[1].sum = v[1].number;
for (i=2;i<=n;i++)
{
in >> v[i].number;
if (v[i-1].sum + v[i].number > v[i].number)
{
v[i].sum = v[i-1].sum + v[i].number;
v[i].length = v[i-1].length + 1;
}
else
{
if (v[i-1].length >= k-1)
{
v[i].sum = v[i].number;
v[i].length = 1;
}
else
{
v[i].sum = v[i-1].sum + v[i].number;
v[i].length = v[i-1].length + 1;
}
}
}
int maximumSum = (-25001)*(25001), maximumSum_i;
for (i=1;i<=n;i++)
{
if( v[i].sum > maximumSum && v[i].length >= k)
{
maximumSum = v[i].sum;
maximumSum_i = i;
}
}
for (i=1;i<=n;i++)
{
cout << v[i].sum << " " << v[i].length << '\n';
}
out << maximumSum_i - v[maximumSum_i].length + 1 << " " << maximumSum_i << " " << maximumSum;
return 0;
}