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;
    }
}