#include using namespace std; int bs(const vector &v, int a) { int l = 0, r = (int)v.size(); while (l < r) { int m = (l + r) / 2; if (v[m] < a) l = m + 1; else r = m; } return l; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; string S; cin >> S; int ct[3] = {0, 0, 0}; vector P[3]; for (int i = 0; i < n; ++i) P[S[i]-'A'].push_back(i), P[S[i]-'A'].push_back(i+n), ct[S[i]-'A']++; sort(P[0].begin(), P[0].end()); sort(P[1].begin(), P[1].end()); sort(P[2].begin(), P[2].end()); int a = 0; for (int i = 0; i < n; ++i) a = max(a, max( bs(P[0], i+ct[0]) - bs(P[0], i) + bs(P[1], i+ct[0]+ct[1]) - bs(P[1], i+ct[0]) + bs(P[2], i+ct[0]+ct[1]+ct[2]) - bs(P[2], i+ct[0]+ct[1]), bs(P[0], i+ct[0]) - bs(P[0], i) + bs(P[2], i+ct[0]+ct[2]) - bs(P[2], i+ct[0]) + bs(P[1], i+ct[0]+ct[2]+ct[1]) - bs(P[1], i+ct[0]+ct[2]) )); cout << n-a << endl; return 0; }