N = gets.chomp.to_i
x = gets.chomp.split('')

first_count = x.count('1')
first_seisuu = x.join('').to_i(2)

N.times do |n|
  t = first_seisuu
  tmp = 0
  while t != 0
    if tmp.zero?
      if x[n] == '0'
        co = first_count + 1
        t %= co
        sa = (2 ** (N-n-1)) % co
        t += sa
      else
        co = first_count - 1
        t %= co
        sa = (2 ** (N-n-1)) % co
        t -= sa
      end
    else
      ni = t.to_s(2)
      co = ni.count('1')
    end
    t %= co
    tmp += 1
    if t == 0
      break
    end
  end
  p tmp
end
