#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']++; ct[1] += ct[0]; ct[2] += ct[1]; 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[1]) - bs(P[1], i+ct[0]) + bs(P[2], i+ct[2]) - bs(P[2], i+ct[1]), bs(P[0], i+ct[0]) - bs(P[0], i) + bs(P[2], i+ct[1]) - bs(P[2], i+ct[0]) + bs(P[1], i+ct[2]) - bs(P[1], i+ct[1]) )); cout << n-a << endl; return 0; }