local mfl, mce = math.floor, math.ceil local n = io.read("*n") if n < 100 then local a = 0 for i = 10, n do if i % 3 == 0 then a = a + 1 end end print(a) os.exit() end local t = {} while 0 < n do table.insert(t, n % 10) n = mfl(n / 10) end local max, normal = 1, 0 do local v = t[#t] if v % 3 == 0 then max = 1 normal = mfl(v / 3) else max = 0 normal = mfl(v / 3) + 1 end end for i = #t - 1, 1, -1 do if max == 1 then local v = t[i] if v % 3 == 0 then normal = normal * 4 + mfl(v / 3) else normal = normal * 4 + mfl(v / 3) + 1 max = 0 end else normal = normal * 4 end end local ret = normal + max - 4 --0,3,6,9 z = {} for i = 10, 99 do if i % 3 == 0 then if (i % 10) % 3 ~= 0 then ret = ret + 1 end end end print(ret)