ID : jakeylee11
PROG : beads
LANG : C++
*/
#include <iostream>
#include <fstream>
#include <string>
using namespace std ;
int find_max( const string s , const int n )
{
int i = n ;
int j = n ;
if ( n == 0 )
{
i = s.size() - 1 ;
}
else
{
i = n - 1 ;
}
char a = s[n] ;
if ( a == 'w' )
{
int num ;
if ( n == s.size() - 1 )
{
num = 0 ;
}
for ( ; num < s.size() ; num++ )
{
if ( s[num] != 'w' )
{
a = s[num] ;
break ;
}
}
}
char b ;
if ( n == 0 )
{
b = s[s.size()-1] ;
if ( b == 'w' )
{
for ( int num = s.size() - 1 ; num > 0 ; num-- )
{
if ( s[num] != 'w' )
{
b = s[num] ;
break ;
}
}
}
}
else
{
b = s[n-1] ;
if ( b == 'w' )
{
int num = n - 2 ;
if ( n == 1 )
{
num = s.size() - 1 ;
}
for ( ; num > 0 ; num-- )
{
if ( s[num] != 'w' )
{
b = s[num] ;
break ;
}
}
}
}
int count = 0 ;
for ( ; s[i] == b || s[i] == 'w' ; )
{
if ( i == 0 )
{
i = s.size() - 1 ;
}
else
i-- ;
count++ ;
if ( count == s.size() )
{
return count ;
}
}
for ( ; s[j] == a || s[j] == 'w' ; )
{
if ( j == s.size() - 1 )
{
j = 0 ;
}
else
j++ ;
count++ ;
if ( count == s.size() )
{
return count ;
}
}
return count ;
}
int main()
{
ifstream fin("beads.in") ;
ofstream fout("beads.out") ;
string s ;
int n ;
fin >> n >> s ;
int max = 0 ;
int temp = 0 ;
int i ;
for ( i = 0 ; i < n ; i++ )
{
temp = find_max( s , i ) ;
if ( max < temp )
{
max = temp ;
}
}
fout << max << endl ;
return 0 ;
}