fun main(args: Array<String>) {
    val (N, K, C) = listOfInt()
    val S = next().map { it == 'o'}
    val L = IntArray(N)
    val R = IntArray(N)
    var cnt = 1
    var s = 0
    while (s < N && cnt <= K) {
        if (S[s]) {
            L[s] = cnt++
            s += C + 1
        } else s += 1
    }
    cnt = K
    s = S.size - 1
    while (s >= 0 && cnt > 0) {
        if (S[s]) {
            R[s] = cnt--
            s -= C + 1
        } else s -= 1
    }
    val sb = StringBuilder()
    (0 until N).forEach { n ->
        if (L[n] > 0 && L[n] == R[n]) sb.appendln(n + 1)
    }
    println(sb.toString())
}
fun next() = readLine()!!
fun nextInt(delta: Int = 0) = Integer.parseInt(next()) + delta
fun nextLong() = next().toLong()
fun nextDouble() = next().toDouble()
fun listOfString() = next().split(" ")
fun listOfInt() = listOfString().map(String::toInt)
fun listOfLong() = listOfString().map(String::toLong)


