local n = io.read("n")
-- local n = 3600
local total = 0
local value_stack = {0}
local mark_stack = {0}
while true do
	local len = #value_stack
	local value = value_stack[len]
	local mark = mark_stack[len]
	if not value then
		break
	end
	table.remove(value_stack, len)
	table.remove(mark_stack, len)
	if value <= n then
		if mark == 7 then
			total = total + 1
		end
		table.insert(value_stack, value * 10 + 3)
		table.insert(mark_stack, mark | 1)
		table.insert(value_stack, value * 10 + 5)
		table.insert(mark_stack, mark | 2)
		table.insert(value_stack, value * 10 + 7)
		table.insert(mark_stack, mark | 4)
	end
end
print(total)