Дідусик Морозик влаштує змагання по футболу серед ельфів. Всього у розпорядженні Дідусика 2
n
ельфів, пронумерованих цілими числами від 1 до 2
n
. Морозик визначив, що у зустрічі двох ельфів завжди перемагає ельф з більшим номером.
Змагання буде проведено за наступними правилами. Всі ельфи вишикуються у шеренгу, після чого перший ельф з шеренги зустрінеться у поєдинку з другим ельфом з шеренги, третій з четвертим, п'ятий з шостим і так далі... У кожній парі той ельф, що програє зустріч, буде вилучений з турніру, а всі інші знову утворять шеренгу зімкнувши стрій. Наприклад, якщо шеренга складається з ельфів (4,2,3,1) (тут числа — номери ельфів), то ельфи з номерами 2 та 1 будуть вилучені з турніру, а ельфи-перемеможці утворять шеренгу (4,3). Така операція буде проведена n разів, після чого у шерензі залишиться лише один ельф який і буде визначений переможцем.
Ви — фанат ельфа з номером k, якому сьогодні виповнилося m рочків. У якості подарунка Вам потрібно знайти таку початкову шеренгу ельфів, що ельф з номером k переможе у рівно m зустрічах турніру.
Входные данные
Перший рядок містить три цілі числа n, k та m (1≤n≤15, 1≤k≤2
n
, 0≤m≤n).
Выходные данные
Якщо необхідної початкової шеренги не існує, то виведіть одне ціле число −1.
Інакше, виведіть 2
n
чисел — номери ельфів у шуканій шерензі.
Якщо існує кілька правильних відповідей, дозволяється вивести будь-яку з них.
Примечание
У першому прикладі шеренга ельфів буде модифікуватися наступним чином: (4,3,2,1) → (4,2) → (4).
У другому прикладі шеренга ельфів буде модифікуватися наступним чином: (7,6,3,4,8,1,2,5) → (7,4,8,5) → (7,8) → (8).
timer
Лимит на использование времени: 1000 ms
storage
Лимит на использование памяти: 256 MB
arrow_circle_up
У вас есть еще 50 попыток отправить эту задачу
Примеры
Ниже вы найдете примеры входных данных и ответы которые должна вывести ваша программа.
Пример ввода #1
2 1 0
Пример ответа #1
1 4 2 3
Пример ввода #2
3 4 1
Пример ответа #2
4 1 8 2 3 5 6 7
Пример ввода #3
3 4 3
Пример ответа #3
-1
я отдал уже все і. только
1)
var mas:array[1..7] of integer;
i:integer;
begin
writeln('Введите 7 целых чисел:');
for i:=1 to 7 do
begin
readln(mas[i]);
if(mas[i] mod 2 <>0) then mas[i]:=mas[i]*10;
end;
writeln('Изменённый массив:',mas);
end.
2) var mas:array[1..9] of integer;
i,b:integer;
begin
writeln('Введите 9 целых чисел:');
for i:=1 to 9 do
begin
readln(mas[i]);
if(mas[i] <0) then b:=b+mas[i];
end;
writeln('Сумма отрицательных элементов= :',b);
end.
3) var mas:array[1..4] of integer;
i,b:integer;
begin
writeln('Введите 4 целые числа:');
b:=1;
for i:=1 to 4 do
begin
readln(mas[i]);
b:=b*mas[i];
end;
writeln('Произведение чисел= ',b);
end.