eolymp
bolt
Try our new interface for solving problems
Məsələlər

Сложить или умножить

Сложить или умножить

Промышленная компания, выпускающая процессоры для компьютеров, предлагает очень быстрые устройства по обработке информации с учетом потребностей клиентов. Множество команд процессоров серии \textbf{a-C-m} (таких как \textbf{1-C-2} и \textbf{5-C-3}) состоит всего лишь из двух различных операторов: \textbf{A add a} \textbf{M multiply by m} На вход процессор получает целое число, затем выполняет последовательность из \textbf{A} и \textbf{M} операторов (программу), изменяющую входные данные, и выводит результат. Например, процессор \textbf{1-C-2}, выполняющий программу \textbf{AAAM} на входном числе \textbf{2}, выведет \textbf{10} (последовательность вычислений: \textbf{2} → \textbf{3} → \textbf{4} → \textbf{5} → \textbf{10}), а процессор \textbf{5-C-3} выведет \textbf{51} при той же программе и с теми же входными данными (\textbf{2} → \textbf{7} → \textbf{12} → \textbf{17} → \textbf{51}). Вы - \textbf{a-C-m} программист, который занимается секретным проектом. Это означает, что Вам не известны конкретные вычисления, которые должна выполнять Ваша программа. Но Вам заданы некоторые значения \textbf{p}, \textbf{q}, \textbf{r} и \textbf{s}, а также следующие условия: \begin{enumerate} \item Входным значением является число, которое находится между \textbf{p} и \textbf{q}. \item Выходное значение должно быть целым, которое лежит между \textbf{r} и \textbf{s}. \end{enumerate} По заданному \textbf{a-C-m} процессору и числам \textbf{p}, \textbf{q}, \textbf{r} и \textbf{s} следует создать кратчайшую \textbf{a-C-m} программу, которая для каждого \textbf{x}, для которого \textbf{p} ≤ \textbf{x} ≤ \textbf{q}, выведет значение \textbf{y}, для которого \textbf{r} ≤ \textbf{y} ≤ \textbf{s}. Если существует несколько кратчайших программ, то вывести лексикографически наименьшую. Программу следует трактовать как строку, содержащую буквы \textbf{A} и \textbf{M}. \InputFile Входные данные состоят из нескольких тестов. Каждый тест задается одной строкой, которая содержит шесть целых чисел \textbf{a}, \textbf{m}, \textbf{p}, \textbf{q}, \textbf{r} и \textbf{s} (\textbf{1} ≤ \textbf{a}, \textbf{m}, \textbf{p}, \textbf{q}, \textbf{r}, \textbf{s} ≤ \textbf{10^9}, \textbf{p} ≤ \textbf{q} и \textbf{r} ≤ \textbf{s}). Последний тест завершается строкой, содержащей шесть нулей. \OutputFile Для каждого теста вывести его номер и наилучшую программу, как описано в условии. Вывести слово "\textbf{empty}", если наилучшая программа не использует операторов. Вывести слово "\textbf{impossible}", если не существует программы, удовлетворяющей спецификациям. Программу следует выводить в виде последовательности чередующихся строк вида "\textbf{nA}" и "\textbf{nM}" (\textbf{n} > \textbf{0}), разделенных одним пробелом. Строки первого типа означают последовательность \textbf{А} операторов длины \textbf{n}, а строки второго типа последовательность \textbf{M} операторов длины \textbf{n}.
Zaman məhdudiyyəti 3 saniyə
Yaddaşı istafadə məhdudiyyəti 256 MiB
Giriş verilənləri #1
1 2 2 3 10 20
0 0 0 0 0 0
Çıxış verilənləri #1
Case 1: 1A 2M
Mənbə ICPC 2011 World Finals