어떤 정수 n의 이진 전개란, 다음 세 조건을 모두 만족하는 '자릿수'의 수열 akak−1…a1a0을 말한다.
한 정수는 서로 다른 여러 이진 전개를 가질 수 있다. 이 모든 전개 중에서 0이 아닌 자릿수의 개수가 가장 적은 것을 최적 전개라고 부른다. 예를 들어 −1을 편의상 1로 나타내면, 15의 이진 전개에는 10001, 1111, 10011 등이 있다. 이 가운데 첫 번째 10001=16−1=15는 0이 아닌 자릿수가 2개뿐이므로 15의 최적 전개이다.
주어진 정수 n에 대해, 그 최적 이진 전개에 들어 있는 0이 아닌 자릿수의 개수를 구하는 프로그램을 작성하시오.
첫째 줄에 정수 r (1≤r≤500)이 주어진다. 둘째 줄에는 r개의 십진수 자리로 이루어진 정수 n이 주어진다. n은 가장 높은 자리부터(즉 일반적인 표기 순서로) 적혀 있으며, 0이 아닌 자릿수로 시작한다.
n의 최적 이진 전개에 들어 있는 0이 아닌 자릿수의 개수를 한 줄에 출력한다.