func readInts() -> [Int]{
    return readLine()!.split(separator: " ").map{Int($0)!};
}
let R1 = readInts()
let R2 = readLine()!
let N = R1[0], K = R1[1], C = R1[2], s = R2
var lastI=1000000000, count = 0;
var dp1: Array<Int> = Array(repeating: 0, count: N + 10)
var dp2: Array<Int> = Array(repeating: 0, count: N + 10)
var S: Array<Character> = Array(repeating: "0", count: N + 10)
for i in s {
    S[count] = i
    count += 1
}
for i in 0 ..< N {
    if lastI - (N - i - 1) > C && S[N - i - 1] == "o" {
        lastI = N - i - 1
        dp1[N - i - 1] = dp1[N - i] + 1
    }
    else {
        dp1[N - i - 1] = dp1[N - i]
    }
}
lastI = -1000000000;
for i in 0 ..< N {
    if i - lastI > C && S[i] == "o" {
        lastI = i
        if i == 0 {
            dp2[i] = 1
        }
        else {
            dp2[i] = dp2[i - 1] + 1
        }
    }
    else{
        dp2[i] = dp2[i - 1]
    }
}
for i in 0 ..< N {
    if i == 0 {
        if dp1[i + 1] < K {
            print(i + 1)
        }
    }
    else if i == N - 1 {
        if dp2[i - 1] < K {
            print(i + 1)
        }
    }
    else {
        if dp1[i + 1] + dp2[i - 1] < K {
            print(i + 1)
        }
    }
}