n = int(input())
mer = input()

# DP 배열 초기화
dp = [float('inf')] * (len(mer) + 1)
dp[0] = 0  # 시작점

# 동적 계획법 적용
for i in range(len(mer)):
    for j in range(1, 4):  # 최대 3자리 수까지 확인
        if i + j <= len(mer) and mer[i] != '0':
            num = int(mer[i:i+j])
            if num <= 641:
                dp[i+j] = min(dp[i+j], dp[i] + 1)

# 결과 출력
if dp[len(mer)] == float('inf'):
    print(-1)  # 변환 불가능한 경우
else:
    print(dp[len(mer)])