#include using namespace std; int main() { int N; cin >> N; string a; cin >> a; vector v(26, 0); for (int i = 0; i < N; i++) { v[a[i] - 'a']++; } /* for (int i = 0; i < 26; i++) { cout << v[i] << " "; } cout << endl; */ // n cubed /* for (int i = 0; i < N; i++) { for (int j = i; j < N; j++) { for (int k = i; k < j; k++) { palindrom(); } } } */ // n squared // int max_len = 0; for (int i = 0; i < N; i++) { // cout << "i: " << i << endl; vector v(26, 0); int odd = 0; int even = 26; for (int j = i; j < N; j++) { if (i == 0) { //cout << "jsme tu " << endl; v[a[j] - 'a']++; if (v[a[j] - 'a'] % 2 == 0) { even++; odd--; } else { odd++; even--; } /* for (int i = 0; i < 26; i++) cout << v[i] << " "; cout << endl; */ // cout << "odd: " << odd << endl; // cout << "even: " << even << endl; if (odd == 1 || odd == 0) { int len = 0; for (int i = 0; i < 26; i++) { len += v[i]; } if (len > max_len) { // cout << "ZMENA: " << len << endl; max_len = len; } } } } // cout << "max_len: " << max_len << endl; } cout << max_len << endl; /* int len = 0; int max_odd = 0; int max_odd_idx = 0; for (int i = 0; i < 26; i++) { if (v[i] % 2 == 0) len += v[i]; if (v[i] % 2 != 0) { max_odd = max(max_odd, v[i]); max_odd_idx = i; } } for (int i = 0; i < 26; i++) { if (v[i] % 2 != 0 && i != max_odd_idx) { len += v[i] - 1; } } cout << len + max_odd << endl; */ return 0; }