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)])