# № 21244 (Уровень: Средний)
#
# (О. Лысенков) На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим
# образом.
# 1. Строится четверичная запись числа N.
# 2. Далее эта запись обрабатывается по следующему правилу:
# а) если сумма цифр четверичной записи кратна 4, то все нули в записи меняются на 3, а все 3 меняются на нули,
# после к числу приписывается 21 справа;
# б) если сумма цифр четверичной записи не кратна 4, то к записи справа приписывается 22 после первые два разряда,
# полученной записи, меняются на 11 соответственно, разряды нумеруются слева направо, начиная с 1.
# Полученная таким образом запись является четверичной записью искомого числа R.
# Укажите минимальное число N, для которого результатом работы алгоритма является наименьшее число R, превышающее
# 200.
# В ответе это число запишите в десятичной системе счисления.
mas =[]
for n in range (10000):
nach=n
four_zap=""
while n>0:
ostatok=n%4
n=n//4
four_zap+=str(ostatok)
four_zap=four_zap[::-1]
mass=[]
for index in range (0, len(four_zap)):
mass.append(int(four_zap[index]))
sum_of_numbers=sum(mass)
if sum_of_numbers %4 == 0:
zero_for_x = four_zap.replace('0','x')
three_for_zero = zero_for_x.replace('3','0')
x_for_3 = three_for_zero.replace("x",'3')
four_zap = x_for_3+'21'
else:
four_zap= '11'+four_zap[2:]+'22'
r=int(four_zap,4)
if r > 200:
mas.append(r)
if r == 201:
print(nach)
print(min(mas))