#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=405;
int n,cntr,cntg,cnty;
vector <char> st;
map <vector <char>,int> dp;
queue <pair <int,vector <char>>> q;
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n;
for(int i=1;i<=n;i++){
char c;
cin >> c;
st.push_back(c);
if(c=='R') cntr++;
else if(c=='G') cntg++;
else cnty++;
}
if(cnty>(n+1)/2 || cntr>(n+1)/2 || cntg>(n+1)/2){
cout << "-1";
exit(0);
}
q.push({0,st});
while(!q.empty()){
auto [d_u,u]=q.front();
q.pop();
bool ok=true;
for(int i=0;i<n;i++){
if(i+1<n && u[i]==u[i+1]){
ok=false;
break;
}
if(i-1>0 && u[i]==u[i-1]){
ok=false;
break;
}
}
if(ok){
cout << d_u;
exit(0);
}
if(dp.find(u)!=dp.end()) continue;
dp[u]=1;
for(int i=0;i+1<n;i++){
if(u[i]==u[i+1]) continue;
swap(u[i],u[i+1]);
if(dp.find(u)==dp.end()) q.push({d_u+1,u});
swap(u[i],u[i+1]);
}
}
}