#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
const int N = 1e5+10;
typedef pair<int, int> PII;
int n,k;
int a[N];
int cnt;
int q[2];
PII f[N];
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)
{
//cin>>a[i];
char c;
cin>>c;
a[i]=c-'0';
if(a[i]==0) cnt++;
}
for(int i=1;i<=k;i++)
{
q[a[i]]++;
}
//cout<<q[0]<<" "<<q[1]<<endl;
int u=0;
while(cnt)
{
int num=cnt; //记录此时数组中还有多少个0
for(int i=1;i<=n-k+1;i++)
{
if(q[0]==1)
{
num--;
f[u++]={i,i+k-1};
}
else
{
//cout << a[i]<<" "<<a[i+1]<<" "<<a[i+k-1]<<endl;
//cout<<q[0]<<endl;
q[a[i]]--;
//cout<<q[0]<<endl;
q[a[i+1]]++;
q[a[i+k]]++;
//cout<<q[0]<<" "<<q[1]<<endl;
}
}
if(num==cnt)
{
cout<<-1;
//break;
return 0;
}
else
{
cnt=num;
}
}
cout<<u<<endl;
for(int i=0;i<u;i++)
{
cout<<f[i].first<<" "<<f[i].second<<endl;
}
return 0;
}