Помогите решить задачу по информатике программирования на языке C++ я на Олимпиаде

По дате
По Рейтингу
Алг
Нач
Выкинуться с окна
Кон
На Питоне пиши и не парься!
n = int(input())
ans = int(n % 10 > 0)
while n % 10:
n -= 1
if str(n)[:-1] == '':
n = 0
else:
n = int(str(n)[:-1])
p = 1 << 1
while n:
ans += n % 10 * p
p = int(str(p) + '0')
while n % 10:
n -= 1
if str(n)[:-1] == '':
n = 0
else:
n = int(str(n)[:-1])
print(ans)