def divisors(n)
  1.upto(Math.sqrt(n).to_i).select{|i| n.modulo(i).zero?}.map{|i| [i, n.div(i)].uniq}.flatten.sort
end

def eq(n)
  divisors(n.size)[0...-1].map{|w| w.step(n.size, w).map{|i| n[(i-w)...i].to_i}.minmax.inject(:-).abs}.min
end

def neq(n)
  min, max = 100, 0
  i = 0
  while i < n.size
    j = (n[i] == ?1) ? i+1 : i
    return 100 unless j < n.size
    min, max = [min, n[i..j].to_i].min, [max, n[i..j].to_i].max
    i = j+1
  end
  max - min
end

n = gets.chomp
p [eq(n), neq(n)].min