from bisect import bisect_left, bisect_right



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

s = input()



work = [i for i, e in enumerate(s, 1) if e == "o"]

INF = 10 ** 9



work_l = []

prev = -INF

for e in work:

    if e - prev > c:

        work_l.append(e)

        prev = e



work_r = []

prev = INF

for e in work[::-1]:

    if prev - e > c:

        work_r.append(e)

        prev = e



work_r = work_r[::-1]



ans = []

mx_r = len(work_r)

for e in work:

    l = bisect_left(work_l, e)

    r = mx_r - bisect_right(work_r, e)

    if l + r < k:

        ans.append(e)



print(*ans, sep="\n")

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

s = input()

INF = 10 ** 9



work = [i for i, e in enumerate(s, 1) if e == "o"]

l = [0] * (n + 1)

r = [0] * (n + 1)



prev = -INF

cnt = 0

for e in work:

    if e - prev > c:

        cnt += 1

        l[cnt] = e

        prev = e



prev = INF

cnt = 0

for e in work[::-1]:

    if prev - e > c:

        cnt += 1

        r[cnt] = e

        prev = e



l = l[1:k+1]

r = r[1:k+1][::-1]



ans = []

for el, er in zip(l, r):

    if el == er:

        ans.append(el)



print(*ans, sep="\n")

from bisect import bisect_left, bisect_right

n, k, c = map(int, input().split())
s = input()
work = [i for i, e in enumerate(s, 1) if e == "o"]
INF = 10**9
work_l = []
prev = -INF
for e in work:
    if e - prev > c:
        work_l.append(e)
        prev = e
work_r = []
prev = INF
for e in work[::-1]:
    if prev - e > c:
        work_r.append(e)
        prev = e
work_r = work_r[::-1]
ans = []
mx_r = len(work_r)
for e in work:
    l = bisect_left(work_l, e)
    r = mx_r - bisect_right(work_r, e)
    if l + r < k:
        ans.append(e)
print(*ans, sep="\n")

n, k, c = map(int, input().split())
s = input()
INF = 10**9
work = [i for i, e in enumerate(s, 1) if e == "o"]
l = [0] * (n + 1)
r = [0] * (n + 1)
prev = -INF
cnt = 0
for e in work:
    if e - prev > c:
        cnt += 1
        l[cnt] = e
        prev = e
prev = INF
cnt = 0
for e in work[::-1]:
    if prev - e > c:
        cnt += 1
        r[cnt] = e
        prev = e
l = l[1 : k + 1]
r = r[1 : k + 1][::-1]
ans = []
for el, er in zip(l, r):
    if el == er:
        ans.append(el)
print(*ans, sep="\n")

-from bisect import bisect_left, bisect_right - +INF = 10**9 -INF = 10**9 -work_l = [] +l = [0] * (n + 1) +r = [0] * (n + 1) +cnt = 0 -        work_l.append(e) +        cnt += 1 +        l[cnt] = e -work_r = [] +cnt = 0 -        work_r.append(e) +        cnt += 1 +        r[cnt] = e -work_r = work_r[::-1] +l = l[1 : k + 1] +r = r[1 : k + 1][::-1] -mx_r = len(work_r) -for e in work: -    l = bisect_left(work_l, e) -    r = mx_r - bisect_right(work_r, e) -    if l + r < k: -        ans.append(e) +for el, er in zip(l, r): +    if el == er: +        ans.append(el)