N, K, C = list(map(int, input().split()))

S = list(eval(input()))



R = []

tmp = 0

count = 0

while tmp < N:

    if S[tmp] == 'o':

        R.append(tmp)

        count += 1

        if count == K:

            break

        tmp += C + 1

    else:

        tmp += 1



L = []

tmp = N - 1

count = 0

while tmp >= 0:

    if S[tmp] == 'o':

        L.append(tmp)

        count += 1

        if count == K:

            break

        tmp -= C + 1

    else:

        tmp -= 1



for l, r in zip(R, L[::-1]):

    # print (l, r)

    if l == r:

        print((l + 1))
import sys

# input = sys.stdin.readline

sys.setrecursionlimit(10 ** 9)

MOD = 10 ** 9 + 7



N, K, C = list(map(int, input().split()))

S = list(eval(input()))



mae = [-1] * N

i = 0

count = 0

while i < N and count < K:

    if S[i] == 'o':

        mae[i] = count

        count += 1

        i += C + 1

    else:

        i += 1



ushiro = [-1] * N

i = N - 1

count = 0

while i >= 0 and count < K:

    if S[i] == 'o':

        ushiro[i] = K - count - 1

        count += 1

        i -= (C + 1)

    else:

        i -= 1



for i in range(N):

    if mae[i] == ushiro[i] and mae[i] != -1:

        print((i + 1))
N, K, C = list(map(int, input().split()))
S = list(eval(input()))
R = []
tmp = 0
count = 0
while tmp < N:
    if S[tmp] == "o":
        R.append(tmp)
        count += 1
        if count == K:
            break
        tmp += C + 1
    else:
        tmp += 1
L = []
tmp = N - 1
count = 0
while tmp >= 0:
    if S[tmp] == "o":
        L.append(tmp)
        count += 1
        if count == K:
            break
        tmp -= C + 1
    else:
        tmp -= 1
for l, r in zip(R, L[::-1]):
    # print (l, r)
    if l == r:
        print((l + 1))

import sys

# input = sys.stdin.readline
sys.setrecursionlimit(10**9)
MOD = 10**9 + 7
N, K, C = list(map(int, input().split()))
S = list(eval(input()))
mae = [-1] * N
i = 0
count = 0
while i < N and count < K:
    if S[i] == "o":
        mae[i] = count
        count += 1
        i += C + 1
    else:
        i += 1
ushiro = [-1] * N
i = N - 1
count = 0
while i >= 0 and count < K:
    if S[i] == "o":
        ushiro[i] = K - count - 1
        count += 1
        i -= C + 1
    else:
        i -= 1
for i in range(N):
    if mae[i] == ushiro[i] and mae[i] != -1:
        print((i + 1))

+import sys + +# input = sys.stdin.readline +sys.setrecursionlimit(10**9) +MOD = 10**9 + 7 -R = [] -tmp = 0 +mae = [-1] * N +i = 0 -while tmp < N: -    if S[tmp] == "o": -        R.append(tmp) +while i < N and count < K: +    if S[i] == "o": +        mae[i] = count -        if count == K: -            break -        tmp += C + 1 +        i += C + 1 -        tmp += 1 -L = [] -tmp = N - 1 +        i += 1 +ushiro = [-1] * N +i = N - 1 -while tmp >= 0: -    if S[tmp] == "o": -        L.append(tmp) +while i >= 0 and count < K: +    if S[i] == "o": +        ushiro[i] = K - count - 1 -        if count == K: -            break -        tmp -= C + 1 +        i -= C + 1 -        tmp -= 1 -for l, r in zip(R, L[::-1]): -    # print (l, r) -    if l == r: -        print((l + 1)) +        i -= 1 +for i in range(N): +    if mae[i] == ushiro[i] and mae[i] != -1: +        print((i + 1))