program shift_only
  implicit none
  integer :: n, a(200) = 0, i
  read(*,*) n
  read(*,*) a(1:n)
  write(*,'(i0)') minval(number_of_trailing_zeros(a(1:n)))
contains
  pure elemental integer function number_of_trailing_zeros(i) result(res)
    integer, intent(in) :: i
    integer :: x, y
    if (i == 0) then
      res = 32
      return
    end if
    res = 31
    x = i
    y = lshift(x, 16)
    if (y /= 0) then
      res = res - 16
      x = y
    end if
    y = lshift(x, 8)
    if (y /= 0) then
      res = res - 8
      x = y
    end if
    y = lshift(x, 4)
    if (y /= 0) then
      res = res - 4
      x = y
    end if
    y = lshift(x, 2)
    if (y /= 0) then
      res = res - 2
      x = y
    end if
    res = res - urshift(lshift(x, 1), 31)
  end
  pure elemental integer function urshift(i, n) result(res)
    integer, intent(in) :: i
    integer, intent(in) :: n
    if (n == 0) then
      res = i
    else
      res = rshift(ibclr(rshift(i, 1), 31), n - 1)
    end if
  end
end program shift_only