''' 174) (А.М. Кабанов, Тольятти) Автомат обрабатывает натуральное число N по следующему алгоритму:
1) Строится двоичная запись числа N.
2) Из записи удаляются все нули.
3) Полученное число переводится в десятичную запись и выводится на экран.
Сколько разных значений будет показано на экране автомата при последовательном вводе всех натуральных
чисел от 10 до 2500?'''
k=0
mas=set() # массив с уникальными значениями
for n in range(10,2500+1):
N=bin(n)[2::]
#print(N)
N=N.replace("0","")
#print(N)
r=int(N,2)
#print(r)
mas.add(r) # добавление значений в set
print(len(mas))