5
1 8 1 7 9
 4
6 7 4 5
 5
36 37 6 18 36
 3
5 1 3
 200
2 1 1 1 2 1 2 1 1 1 2 1 2 2 2 1 1 2 1 2 1 1 1 2 2 1 2 1 1 2 1 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 2 1 1 2 2 2 2 2 2 2 1 1 1 2 1 2 2 1 1 2 1 2 2 2 1 2 1 1 1 2 1 1 2 2 1 2 2 1 2 2 1 1 2 1 1 1 1 1 2 2 1 1 2 1 2 2 2 1 2 1 1 1 2 2 1 2 2 2 1 1 2 1 2 2 1 2 2 2 1 1 2 2 1 2 1 1 2 2 1 2 1 2 1 2 2 2 1 1 2 2 1 1 2 1 1 1 2 2 2 1 2 2 2 1 2 1 1 1 1 2 1 2 1 2 1 1 1 2 2 2 1 2 1 1 2 2 1 1 1 1 1 2 2 2 1 2 2
 10
104105246720 52052623360 213207545282560 426415090565120 6354080 832841973760 26650943160320 6506577920 50832640 832841973760
 3
9 4 4
 10
3 3 3 3 3 3 3 3 3 3
 100
24 33 88 55 4 24 19 19 63 90 9 47 24 74 21 43 20 100 58 15 36 66 13 4 9 51 24 96 50 27 100 41 92 9 67 94 17 11 98 24 72 57 96 85 50 9 45 41 63 76 80 59 25 67 21 84 88 15 62 60 79 65 5 66 1 85 92 100 61 75 44 96 53 97 2 28 83 42 60 42 34 73 44 99 58 46 75 100 75 55 35 52 93 80 69 75 50 67 100 77
 200
1 2 1 2 2 1 2 2 2 1 1 1 2 2 1 2 2 1 2 1 1 2 1 2 1 2 2 1 2 2 1 2 1 2 1 2 1 2 2 1 1 1 1 2 1 1 2 2 1 2 1 1 2 2 2 1 2 1 1 1 1 1 1 1 2 1 2 2 2 2 2 2 1 1 1 2 2 2 2 2 1 2 1 2 1 2 2 2 1 1 1 1 2 1 1 1 2 2 1 2 1 1 1 2 2 1 1 2 1 2 1 2 1 1 1 2 2 2 1 1 1 2 2 2 1 2 1 2 2 1 2 2 2 1 1 1 1 1 2 2 2 2 2 2 1 1 1 2 1 1 1 1 2 1 2 2 2 2 1 2 2 1 1 1 1 1 2 1 2 2 2 2 1 1 1 2 1 2 1 2 1 1 2 1 1 2 1 2 1 1 1 1 2 1 2 1 1 1 2 2
 4
3 1 5 5
 200
2 2 3 2 1 2 1 2 6 1 6 2 6 1 2 6 5 1 3 6 2 2 4 4 5 5 3 2 2 3 4 2 1 2 2 5 3 6 3 4 5 5 2 2 2 4 6 6 4 4 5 6 6 1 6 6 5 5 6 3 6 2 2 4 1 5 5 5 5 4 2 6 1 2 1 2 2 3 5 5 5 1 5 4 2 1 3 2 5 5 6 4 2 5 2 5 2 2 2 4 3 5 2 2 1 2 1 6 4 3 2 3 6 1 5 5 4 1 2 2 5 3 1 3 6 2 6 4 3 3 1 3 3 5 2 1 3 4 6 4 3 6 3 4 3 1 3 4 6 3 4 1 5 3 5 4 2 1 6 1 6 5 4 6 6 2 3 6 5 2 6 4 5 1 2 5 4 1 5 2 5 5 4 3 1 6 3 2 5 2 2 3 3 1 1 3 6 6 6 2
 200
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

3
 3
 2
 1
 33
 8
 1
 0
 91
 30
 2
 122
 0

#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f, mod = 1000000007;
const double pi = 3.1415926535897932, eps = 1e-6;
void chmax(int &x, int y) {
  if (x < y) x = y;
}
void chmin(int &x, int y) {
  if (x > y) x = y;
}
int qpow(int x, int y) {
  int ret = 1;
  while (y) {
    if (y & 1) ret = (long long)ret * x % mod;
    x = (long long)x * x % mod;
    y >>= 1;
  }
  return ret;
}
int n;
int num2[5005], dp[5005];
long long a[5005], b[5005];
long long gcd(long long x, long long y) {
  if (!y) return x;
  return gcd(y, x % y);
}
bool good(long long x, long long y) { return gcd(x, y) == y; }
bool good2(long long x, long long y) {
  return (y & 1) ? x % y == 0 : x % y == (y / 2);
}
int main() {
  scanf("%d", &n);
  for (int(i) = (1); (i) <= (n); (i)++) scanf("%lld", a + i), b[i] = a[i];
  for (int(i) = (1); (i) <= (n); (i)++) {
    while (!(a[i] & 1)) a[i] >>= 1, num2[i]++;
  }
  for (int(i) = (1); (i) <= (n); (i)++) dp[i] = 1;
  for (int(i) = (1); (i) <= (n); (i)++)
    for (int(j) = (i - 1); (j) >= (1); (j)--) {
      if ((i - j == 1 && good2(b[j], b[i])) ||
          (i - j > 1 && num2[j] + i - j >= num2[i] && good(a[j], a[i])))
        chmax(dp[i], dp[j] + 1);
    }
  int ans = 0;
  for (int(i) = (1); (i) <= (n); (i)++) ans = max(ans, dp[i]);
  printf("%d\n", n - ans);
  return 0;
}
