

def resolve():

    def sub(s):

        cur = 0

        last = -(C + 1)

        res = [0] * (N + 1)

        for i in range(N):

            if i - last > C and s[i] == "o":

                cur += 1

                last = i

            res[i + 1] = cur

        return res



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

    S = eval(input())



    left = sub(S)

    T = S[::-1]

    right = sub(T)

    for i in range(N):

        if S[i] == "x":

            continue

        if left[i] + right[N - i - 1] < K:

            print((i + 1))





if __name__ == "__main__":

    resolve()



def resolve():

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

    S = eval(input())



    left = [0]*N

    i = 0

    cnt = 1

    while i < N:

        if S[i] == "o":

            left[i] = cnt

            i += C

            cnt += 1

        i += 1



    right = [0]*N

    i = 0

    cnt = K

    T = S[::-1]

    while i < N:

        if T[i] == "o":

            right[i] = cnt

            i += C

            cnt -= 1

        i += 1

    right = right[::-1]



    for i in range(N):

        if left[i] == 0:

            continue

        if left[i] == right[i]:

            print((i+1))



if __name__ == "__main__":

    resolve()

def resolve():
    def sub(s):
        cur = 0
        last = -(C + 1)
        res = [0] * (N + 1)
        for i in range(N):
            if i - last > C and s[i] == "o":
                cur += 1
                last = i
            res[i + 1] = cur
        return res

    N, K, C = list(map(int, input().split()))
    S = eval(input())
    left = sub(S)
    T = S[::-1]
    right = sub(T)
    for i in range(N):
        if S[i] == "x":
            continue
        if left[i] + right[N - i - 1] < K:
            print((i + 1))


if __name__ == "__main__":
    resolve()

def resolve():
    N, K, C = list(map(int, input().split()))
    S = eval(input())
    left = [0] * N
    i = 0
    cnt = 1
    while i < N:
        if S[i] == "o":
            left[i] = cnt
            i += C
            cnt += 1
        i += 1
    right = [0] * N
    i = 0
    cnt = K
    T = S[::-1]
    while i < N:
        if T[i] == "o":
            right[i] = cnt
            i += C
            cnt -= 1
        i += 1
    right = right[::-1]
    for i in range(N):
        if left[i] == 0:
            continue
        if left[i] == right[i]:
            print((i + 1))


if __name__ == "__main__":
    resolve()

-    def sub(s): -        cur = 0 -        last = -(C + 1) -        res = [0] * (N + 1) -        for i in range(N): -            if i - last > C and s[i] == "o": -                cur += 1 -                last = i -            res[i + 1] = cur -        return res - -    left = sub(S) +    left = [0] * N +    i = 0 +    cnt = 1 +    while i < N: +        if S[i] == "o": +            left[i] = cnt +            i += C +            cnt += 1 +        i += 1 +    right = [0] * N +    i = 0 +    cnt = K -    right = sub(T) +    while i < N: +        if T[i] == "o": +            right[i] = cnt +            i += C +            cnt -= 1 +        i += 1 +    right = right[::-1] -        if S[i] == "x": +        if left[i] == 0: -        if left[i] + right[N - i - 1] < K: +        if left[i] == right[i]: