import std; void main () { int N, M; readln.read(N, M); string S = readln.chomp; solve(N, M, S); } void solve (int N, int M, string S) { /* 'x'や'o'のあるところで区切って良い。本質的に、区切られた文字は3種類のみ 1. x --- x 2. x --- o 3. o --- o このうち、最も優先すべきはタイプ3で、かつ-の長さが奇数のもの。これは最高効率で埋めることができる可能性がある。 次に優先度が高いのが長さ2以上の2と、3かつ-の長さが偶数のもの。これらは確実に1個で2つの祝日を生み出せる。 次に優先度が高いのが長さ3以上の1 一番優先度が低いのが長さ2以下の1と長さ1の2 これらを守って処理すれば必ず最高効率になるはず */ /* 区間分割 */ auto T = new BinaryHeap!(Array!int, "a