Виктор дописал решение для задачи и, не дождавшись мнений от команды, отправил его в систему.
Обновив страницу с посылкой, Виктор увидел неприятный вердикт Wrong Answer.
Неприятным он был по двум причинам:
На это обратили внимание его сокомандники Айдар и Бегимай.
Они заметили, что у Виктора в решении используются две целочисленные переменные $$$A$$$ и $$$B$$$, после чего вычисляется результат их перемножения $$$C = A \cdot B$$$.
Причём все три переменные были объявлены как $$$32$$$-битные.
И Айдар, и Бегимай предположили, что в программе происходит целочисленное переполнение — ситуация, когда значение целого числа не умещается в указанный для него тип данных.
Переписать на Python ребята всегда успеют — сейчас они хотят понять, какие же типы данных необходимо использовать для $$$A$$$, $$$B$$$ и $$$C$$$.
Важная информация
В первой строке дано целое число $$$A$$$ $$$(1 \le A \le 10^{18})$$$ — значение переменной $$$A$$$.
Во второй строке дано целое число $$$B$$$ $$$(1 \le B \le 10^{18})$$$ — значение переменной $$$B$$$.
В первой строке выведите целое число $$$T_A$$$ — необходимое количество битов для переменной $$$A$$$.
Во второй строке выведите целое число $$$T_B$$$ — необходимое количество битов для переменной $$$B$$$.
В третьей строке выведите целое число $$$T_C$$$ — необходимое количество битов для переменной $$$C$$$.
Все три числа $$$T_A, T_B, T_C$$$ могут принимать только значения $$$32$$$, $$$64$$$ или $$$128$$$:
20000100000
32 32 32
1000000300000
64 32 64
30000003000000000000
32 64 64
10000000000000000001000000000000000000
128 64 128
Минутка полезной информации
Первый тестовый пример
Все три числа умещаются в $$$32$$$-битный тип данных.
Второй тестовый пример
$$$A$$$ и $$$B$$$ умещаются в $$$32$$$-битный тип данных, но $$$C$$$ умещается только в $$$64$$$-битный.
Необходимо сделать $$$64$$$-битной либо переменную $$$A$$$, либо $$$B$$$.
Третий тестовый пример
$$$A$$$ умещается в $$$32$$$-битный тип данных, но $$$B$$$ и $$$C$$$ умещаются только в $$$64$$$-битный.
Так как $$$B$$$ уже $$$64$$$-битная, то $$$A$$$ можно оставить $$$32$$$-битной.
Четвёртый тестовый пример
$$$A$$$ и $$$B$$$ умещаются в $$$64$$$-битный тип данных, но $$$C$$$ умещается только в $$$128$$$-битный.
Необходимо сделать $$$128$$$-битной либо переменную $$$A$$$, либо $$$B$$$.