# 149) На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R
# следующим образом.
# 1) Строится двоичная запись числа N.
# 2) К этой записи дописывается (дублируется) последняя цифра.
# 3) Затем справа дописывается 0, если в двоичном коде числа N чётное
# число единиц, и 1, если нечётное.
# 4) К полученному результату дописывается ещё один бит чётности так,
# чтобы количество единиц в двоичной записи полученного числа стало
# чётным.
# Полученная таким образом запись (в ней на три разряда больше, чем в
# записи исходного числа N) является двоичной записью искомого числа R.
# Укажите минимальное число N, после обработки которого автомат
# получает число, большее 136. В ответе это число запишите в
# десятичной системе.
for n in range(1,10000):
# print(n)
m = bin(n)
# print(m)
m = m[2::] # 1 шаг
mm = m
# print(m)
m = m + m[-1] # шаг 2
# print(m)
if mm.count('1') % 2 == 0: # 3 шаг
m = m + '0'
else:
m = m + '1'
# print(m)
if m.count('1') % 2 == 0: # 4 шаг
m = m + '0'
else:
m = m + '1'
# print(m)
R=int(m,2)
if R>136:
print(n)
break