#include <bits/stdc++.h> using namespace std; unordered_map<string, int> d; unordered_map<string, bool> st; string str; int bfs(){ queue<string> q; st[str] = true; q.push(str); while (!q.empty()){ string t = q.front(); q.pop(); if (t.find("2012") != t.npos){ return d[t]; } for (int i=1; i<t.size(); i++){ string tt = t; swap(tt[i], tt[i-1]); if (!st[tt]){ st[tt] = true; q.push(tt); d[tt] = d[t] + 1; } } } return -1; } int main(){ int n; while (cin >> n){ cin >> str; cout << bfs() << endl; } return 0; }