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 $(*a*_{1}, *a*_{2}, ..., *a*_{*n*})$ is "cool" if the pairs $(*a*_{1}, *a*_{2}), (*a*_{2}, *a*_{3}), ..., (*a*_{*n* - 1}, *a*_{*n*})$ are all cool.
The cows have a sequence of $*n*$ positive integers, $*a*_{1}, *a*_{2}, ..., *a*_{*n*}$. In one move, they may replace some $*a*_{*i*}$ with any other positive integer (there are no other limits on the new value of $*a*_{*i*}$). 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, $*a*_{1}, *a*_{2}, ..., *a*_{*n*}$ ($1 ≤ *a*_{*i*} ≤ 10^{15}$).
Please do not use the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specifier.
Output
A single integer, the minimum number of $*a*_{*i*}$ that must be changed to make the sequence cool.
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 $*a*_{2}$ to 5 and $*a*_{3}$ to 10 to make (20, 5, 10, 4) which is cool. This changes 2 elements.
样例
3
6 4 1
0
4
20 6 3 4
2
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。