#include <iostream>
using namespace std;
int main() {
// your code goes here
int t, n, k, q, l, r;
cin >> t;
while(t--) {
cin >> n >> k >> q;
string s;
cin >> s;
int s1[s.size()], s0[s.size()];
for (int i = 0; i < s.size(); i++) {
s0[i] = 0;
s1[i] = 0;
}
cout << endl;
if (s[0] == '0') {
s0[0] = 1;
s1[0] = 0;
} else {
s0[0] = 0;
s1[0] = 1;
}
for (int i = 1; i < s.size(); i++) {
if (s[i] == '0') {
s0[i] = s0[i-1]+1;
s1[i] = s1[i-1];
} else {
s0[i] = s0[i-1];
s1[i] = s1[i-1]+1;
}
}
for (int i = 0; i < s.size(); i++) {
cout << s0[i] << " ";
}
cout << endl;
for (int i = 0; i < s.size(); i++) {
cout << s1[i] << " ";
}
cout << endl;
while(q--) {
cin >> l >> r;
int c = 0;
int ans = 0;
for (int i = l; i <= r; i++) {
if ((s0[i] - s0[l] < k) && (s1[i] - s1[l] < k)) {
c = c + 1;
}
cout << c << endl;
ans = ans + ((c*(c+1))/2);
}
cout << "ans = " << ans << endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglpbnQgdCwgbiwgaywgcSwgbCwgcjsKCWNpbiA+PiB0OwoJd2hpbGUodC0tKSB7CgkJY2luID4+IG4gPj4gayA+PiBxOwoJCXN0cmluZyBzOwoJCWNpbiA+PiBzOwoJCWludCBzMVtzLnNpemUoKV0sIHMwW3Muc2l6ZSgpXTsKCQlmb3IgKGludCBpID0gMDsgaSA8IHMuc2l6ZSgpOyBpKyspIHsKCQkJczBbaV0gPSAwOyAKCQkJczFbaV0gPSAwOwoJCX0KCQljb3V0IDw8IGVuZGw7CgkJaWYgKHNbMF0gPT0gJzAnKSB7CgkJCXMwWzBdID0gMTsKCQkJczFbMF0gPSAwOwoJCX0gZWxzZSB7CgkJCXMwWzBdID0gMDsKCQkJczFbMF0gPSAxOwoJCX0KCQkKCQlmb3IgKGludCBpID0gMTsgaSA8IHMuc2l6ZSgpOyBpKyspIHsKCQkJaWYgKHNbaV0gPT0gJzAnKSB7CgkJCQlzMFtpXSA9IHMwW2ktMV0rMTsKCQkJCXMxW2ldID0gczFbaS0xXTsKCQkJfSBlbHNlIHsKCQkJCXMwW2ldID0gczBbaS0xXTsKCQkJCXMxW2ldID0gczFbaS0xXSsxOwoJCQl9CgkJfQoJCQoJCWZvciAoaW50IGkgPSAwOyBpIDwgcy5zaXplKCk7IGkrKykgewoJCQljb3V0IDw8IHMwW2ldIDw8ICIgIjsKCQl9CgkJY291dCA8PCBlbmRsOwoJCWZvciAoaW50IGkgPSAwOyBpIDwgcy5zaXplKCk7IGkrKykgewoJCQljb3V0IDw8IHMxW2ldIDw8ICIgIjsKCQl9CgkJY291dCA8PCBlbmRsOwoJCQoJCXdoaWxlKHEtLSkgewoJCQljaW4gPj4gbCA+PiByOwoJCQlpbnQgYyA9IDA7CgkJCWludCBhbnMgPSAwOwoJCQlmb3IgKGludCBpID0gbDsgaSA8PSByOyBpKyspIHsKCQkJCWlmICgoczBbaV0gLSBzMFtsXSA8IGspICYmIChzMVtpXSAtIHMxW2xdIDwgaykpIHsKCQkJCQljID0gYyArIDE7CgkJCQl9IAoJCQkJY291dCA8PCBjIDw8IGVuZGw7CgkJCQlhbnMgPSBhbnMgKyAoKGMqKGMrMSkpLzIpOwoJCQl9CgkJCWNvdXQgPDwgImFucyA9ICIgPDwgYW5zIDw8IGVuZGw7CgkJfQoJCQoJfQoJcmV0dXJuIDA7Cn0=