module main; import std; void main() { // 入力 int D = readln.chomp.to!int; auto C = readln.chomp ~ readln.chomp; // 答えの計算と出力 if (C.all!(a => a == 'x')) { // すべて平日の場合 writeln(D); return; } auto E = C.group.array; // 最初と最後の平日を取り除く if (E.front[0] == 'x') E.popFront; if (E.back[0] == 'x') E.popBack; // 連続する休日のグループ auto holiday = E.filter!(a => a[0] == 'o').array; // 連続する平日のグループ auto weekday = E.filter!(a => a[0] == 'x').array; assert(holiday.length == weekday.length + 1); auto ans = max(D + holiday[0][1], holiday[$ - 1][1] + D); foreach (i; 0 .. holiday.length - 1) { if (weekday[i][1] > D) ans = max(ans, holiday[i][1] + D, D + holiday[i + 1][1]); else ans = max(ans, holiday[i][1] + weekday[i][1] + holiday[i + 1][1]); } writeln(ans); }