#include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef unsigned u; typedef vector vi; typedef pair pii; #define F first; #define S second; #define PB push_back; #define MP make_pair; bool EQ(double a, double b) { return (fabs(a-b) / (a+b) < DBL_EPSILON); } vector arr ; bool isValid (vector & letters ) { bool uni = false ; for ( auto & it : letters ) { if ( it % 2 == 1 ){ if ( uni == true ) return false; else uni = true ; } } return true ; } bool hasLen ( ll len ) { vector letters ( 30 , 0 ); for ( ll i = 0 ; i < len ; ++ i ){ char l = arr[i] ; letters[l-'a'] += 1 ; } if ( isValid( letters ) ) return true ; for ( ll i = len ; i < arr.size() ; ++ i ) { char l = arr[i] ; letters[l-'a'] += 1 ; letters[ arr[i - len] - 'a' ] -= 1 ; if ( isValid( letters ) ) return true ; } return false ; } int main( ) { ios_base::sync_with_stdio(0); cin.tie(0); // code ll n ; cin >> n ; for ( ll i = 0 ; i < n ; ++ i ){ char tmp ; cin >> tmp ; arr.push_back(tmp); } for ( ll i = n; i > 0; --i) { if (hasLen(i)) { cout << i; break; } } return 0; }