using System; using System.IO; using System.Collections; using System.Collections.Generic; using System.Text; using System.Linq; class Template { static Scanner sc; static int D; static string c = ""; public static void Main(string[] args) { sc = new Scanner(); D = sc.nextInt(); for (int i = 0; i < 2; i++) { c += sc.next(); } int ans = 0; for (int i = 0; i < 14; i++) { ans = Math.Max(ans, func(i)); } Console.WriteLine(ans); } static int func(int d) { int res = 0; string bufs = String.Copy(c); char[] buf = bufs.ToArray(); for (int i = 0; i + d < buf.Length && i < D; i++) { if (buf[i + d] == 'o') break; buf[i + d] = 'o'; } int cnt = 0; for (int i = 0; i < buf.Length; i++) { if (buf[i] == 'o') cnt++; else { res = Math.Max(res, cnt); cnt = 0; } } res = Math.Max(res, cnt); return res; } } public class Scanner { public Scanner() { } public string next() { return Console.ReadLine(); } public int nextInt() { return int.Parse(next()); } public double nextDouble() { return double.Parse(next()); } public long nextLong() { return long.Parse(next()); } public string[] nextArray() { return next().Split(' '); } public int[] nextIntArray() { return Array.ConvertAll(nextArray(), e => int.Parse(e)); } public long[] nextLongArray() { return Array.ConvertAll(nextArray(), e => long.Parse(e)); } public double[] nextDoubleArray() { return Array.ConvertAll(nextArray(), e => double.Parse(e)); } }