#include<iostream>
#include<queue>
#include<string>
#include<unordered_map>
using namespace std;
int main(){
int n;
while(cin>>n){
string str;
char strarr[20];
for(int i=0;i<n;i++){
cin>>strarr[i];
}
queue<string>tovisited;
str=strarr;
tovisited.push(str);
unordered_map<string,int>distancemap;
distancemap.insert({str,0});
while(!tovisited.empty()){
string current=tovisited.front();
if(current.find("2012")!=string::npos){
cout<<distancemap[current]<<endl;//直接通过已知的 key,快速获取对应的 value
return 0;
}
tovisited.pop();
for(int i=1;i<n;i++){
string next=current;
char temp=next[i];
next[i]=next[i-1];
next[i-1]=temp;
if(distancemap.count(next)==0){
tovisited.push(next);
distancemap.insert({next,distancemap[current]+1});
}
}
}
if(tovisited.empty()==true){
cout<<"-1"<<endl;
}
}
}

京公网安备 11010502036488号