6179: Cows and Cool Sequences

内存限制:256 MB 时间限制:2 S
题面:传统 评测方式:文本比较 上传者:
提交:0 通过:0

题目描述

time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Bessie and the cows have recently been playing with "cool" sequences and are trying to construct some. Unfortunately they are bad at arithmetic, so they need your help!

A pair (x,y) of positive integers is "cool" if x can be expressed as the sum of y consecutive integers (not necessarily positive). A sequence (a1,a2,...,an) is "cool" if the pairs (a1,a2),(a2,a3),...,(an-1,an) are all cool.

The cows have a sequence of n positive integers, a1,a2,...,an. In one move, they may replace some ai with any other positive integer (there are no other limits on the new value of ai). Determine the smallest number of moves needed to make the resulting sequence cool.

Input

The first line contains a single integer, n (2≤n≤5000). The next line contains n space-separated integers, a1,a2,...,an (1≤ai≤1015).

Please do not use the %lld specifier to read or write 64-bit integers in C++. It is preferred to use the cin, cout streams or the %I64d specifier.

Output

A single integer, the minimum number of ai that must be changed to make the sequence cool.

Examples
Input
3
6 4 1
Output
0
Input
4
20 6 3 4
Output
2
Note

In the first sample, the sequence is already cool, so we don't need to change any elements. In the second sample, we can change a2 to 5 and a3 to 10 to make (20, 5, 10, 4) which is cool. This changes 2 elements.