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;
template <class T>
inline bool Up(T &a, const T &b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
inline bool Down(T &a, const T &b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
}
inline int getus() {
  int tmp, c;
  while (tmp = fgetc(stdin), tmp < '0' || tmp > '9')
    ;
  tmp -= '0';
  while (c = fgetc(stdin), '0' <= c && c <= '9') tmp = tmp * 10 + c - '0';
  return tmp;
}
inline int getint() {
  int tmp, c, flag;
  while (flag = fgetc(stdin), flag != '-' && (flag < '0' || flag > '9'))
    ;
  if (flag == '-')
    tmp = 0;
  else
    tmp = flag - '0';
  while (c = fgetc(stdin), '0' <= c && c <= '9') tmp = tmp * 10 + c - '0';
  return flag == '-' ? -tmp : tmp;
}
int N, opt[50023];
long long A[50023], V[50023];
int main() {
  ios::sync_with_stdio(false);
  cin >> N;
  for (int i = (1); i <= (N); ++i) {
    cin >> A[i];
    for (V[i] = 0; !(A[i] & 1); A[i] >>= 1, ++V[i])
      ;
  }
  int ans = N;
  opt[0] = 0;
  for (int i = (1); i <= (N); ++i) {
    int &res = opt[i] = i - 1;
    for (int j = (1); j < (i); ++j)
      if (A[j] % A[i] == 0)
        if (V[j] - j == V[i] - i || V[i] <= i - j - 1) {
          Down(res, opt[j] + i - j - 1);
        }
    Down(ans, opt[i] + N - i);
  }
  cout << ans << endl;
  return 0;
}
