Незнайка сконструировал компьютер – умножитель. Компьютер имеет два регистра A и B по 24 двоичных разряда каждый и поддерживает следующую систему команд:
<N+ Осуществить сдвиг двоичной записи числа в регистре A на N бит влево (в освобождающиеся справа позиции записываются значения 0). Затем сложить значение, полученное в регистре A со значением, занесенным в регистр B и записать результат в регистр B. N – целое неотрицательное число. После завершения команды регистр A содержит результат сдвига.
M{...} Выполнить M раз последовательность команд, заключенную в фигурные скобки. М не может превышать 10.
Написав программу для этого компьютера, можно выполнить операцию умножения целого положительного числа, помещаемого в регистр A на любое целое положительное число (если не возникнет переполнение одного из регистров в процессе вычислений). Результат по завершении программы будет находиться в регистре B. Легко заметить, что выполнив, например, программу 2{<0+<1+}<2+ можно получить в регистре B результат умножения числа, помещаемого в регистр A на 2510. Также отметим, что такого же результата можно добиться, выполнив программу и с меньшим количеством символов, например <0+<3+<1+.
Известно, что в регистр A поместили число, не превосходящее 256010. Составьте и напишите в ответе программу, содержащую минимально возможное количество символов, которая позволит вычислить результат умножения числа, помещенного в регистр A на 655310. Перед началом выполнения программы значение регистра B равно нулю.