N = gets.to_i L = Rational((N - 1).to_s.size, 3).ceil ans = 0 V = 10 ** L 1.upto(L) do |l| (10 ** (l - 1)).upto(10 ** l - 1) do |v| x = v * (1 + 10 ** l + 10 ** (2 * l)) if x <= N # pp [v, N, x, l, (1 + 10 ** l + 10 ** (2 * l))] ans += 1 end end end puts ans