#include
#include
#include
#include
using namespace std;
int n;
string a;
int memo[50000][4][4][4][4];
int f(int at, int l1,int l2,int r1,int r2){
if(at>=n){
return 0;
}
if(memo[at][l1][l2][r1][r2] != -1 ){
return memo[at][l1][l2][r1][r2];
}
int res= -1;
int levo = 0, desno = 0;
vector visited(4, false);
visited[l1] = true;
visited[l2] = true;
int colour;
if(a[at] == 'R'){
colour = 1;
}
if(a[at] == 'Y'){
colour = 2 ;
}
if(a[at] =='G'){
colour = 3;
}
visited[colour] = true;
levo = f(at+1,colour,l1,r1,r2)+visited[1]+visited[2]+visited[3];
visited[1] = false;
visited[2] = false;
visited[3] = false;
visited[r1] = true;
visited[r2]= true;
visited[colour] = true;
desno = f(at+1,l1,l2,colour,r1)+visited[1]+visited[2]+visited[3];
res = max(levo,desno);
return memo[at][l1][l2][r1][r2] =res;
}
int main() {
cin >> n;
cin >> a;
memset(memo,-1,sizeof(memo));
cout << f(0,0,0,0,0);
}