#!/usr/bin/env python3

n, k, c = list(map(int, input().split()))

s = eval(input())



left = [0] * (n + 2)

t = 0

while t < n:

    if s[t] == "o":

        left[t + 1] = 1

        t += c

    t += 1

for i in range(n + 1):

    left[i + 1] += left[i]



right = [0] * (n + 2)

t = n - 1

while t >= 0:

    if s[t] == "o":

        right[t + 1] = 1

        t -= c

    t -= 1

for i in range(n + 1)[::-1]:

    right[i] += right[i + 1]



for i in range(1, n + 1):

    if left[i - 1] + right[i + 1] < k:

        print(i)

#!/usr/bin/env python3





def greedy_count(s):

    global n, c

    res = [0] * (n + 2)

    t = 0

    while t < n:

        if s[t] == "o":

            res[t + 1] = 1

            t += c

        t += 1

    for i in range(n + 1):

        res[i + 1] += res[i]

    return res





n, k, c = list(map(int, input().split()))

s = eval(input())



left = greedy_count(s)

right = greedy_count(s[::-1])[::-1]



for i in range(1, n + 1):

    if left[i - 1] + right[i + 1] < k:

        print(i)

#!/usr/bin/env python3
n, k, c = list(map(int, input().split()))
s = eval(input())
left = [0] * (n + 2)
t = 0
while t < n:
    if s[t] == "o":
        left[t + 1] = 1
        t += c
    t += 1
for i in range(n + 1):
    left[i + 1] += left[i]
right = [0] * (n + 2)
t = n - 1
while t >= 0:
    if s[t] == "o":
        right[t + 1] = 1
        t -= c
    t -= 1
for i in range(n + 1)[::-1]:
    right[i] += right[i + 1]
for i in range(1, n + 1):
    if left[i - 1] + right[i + 1] < k:
        print(i)

#!/usr/bin/env python3
def greedy_count(s):
    global n, c
    res = [0] * (n + 2)
    t = 0
    while t < n:
        if s[t] == "o":
            res[t + 1] = 1
            t += c
        t += 1
    for i in range(n + 1):
        res[i + 1] += res[i]
    return res


n, k, c = list(map(int, input().split()))
s = eval(input())
left = greedy_count(s)
right = greedy_count(s[::-1])[::-1]
for i in range(1, n + 1):
    if left[i - 1] + right[i + 1] < k:
        print(i)

+def greedy_count(s): +    global n, c +    res = [0] * (n + 2) +    t = 0 +    while t < n: +        if s[t] == "o": +            res[t + 1] = 1 +            t += c +        t += 1 +    for i in range(n + 1): +        res[i + 1] += res[i] +    return res + + -left = [0] * (n + 2) -t = 0 -while t < n: -    if s[t] == "o": -        left[t + 1] = 1 -        t += c -    t += 1 -for i in range(n + 1): -    left[i + 1] += left[i] -right = [0] * (n + 2) -t = n - 1 -while t >= 0: -    if s[t] == "o": -        right[t + 1] = 1 -        t -= c -    t -= 1 -for i in range(n + 1)[::-1]: -    right[i] += right[i + 1] +left = greedy_count(s) +right = greedy_count(s[::-1])[::-1]