import java.util.*;
import java.io.*;
public class Main {
public static void main(String[]args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int len = in.nextInt();
String s = in.next();
int[]list = new int[3];
for (int i = 0; i < len; i++)
list[s.charAt(i) - '0']++;
if (list[0] > 0 && list[1] > 0 && list[2] > 1) {
System.out.println(all(s));
} else {
System.out.println("-1");
}
}
}
public static int all(String s) {
Map m = new HashMap<String, Integer>();
int i = 0;
for ( ; dfs(s, 0, i, m) == false; i++) {
m.clear();
};
return i;
}
public static boolean dfs(String s, int k, int n, Map m) {
if (m.containsKey(s)) {
if ((int)m.get(s) > k) {
m.put(s, k);
} else {
return false;
}
} else {
m.put(s, k);
}
if (k > n) {
return false;
}
for (int i = 0; i < s.length() - 3; i++) {
if (s.substring(i, i + 4) .equals( "2012") ) {
return true;
}
}
for (int i = 0; i < s.length() - 1; i++) {
char[] list = s.toCharArray();
char c = list[i + 1];
list[i + 1] = list[i];
list[i] = c;
String str = String.valueOf(list);
if (dfs(str, k + 1, n, m)) {
return true;
};
}
return false;
}
}