Будем называть числа круглыми, если они содержат в своей записи только цифры 0 и 5.
Составим последовательность круглых чисел в порядке возрастания: 0, 5, 50, 55, 500, 505 и так далее.
Написать программу, которая находит K-ое по порядку в этой последовательности круглое число.
Со стандартного потока ввода вводится натуральное число K — номер круглого числа в последовательности (0 < K ≤ 109).
Выведите на экран требуемое круглое число.
2
5
6
505
Отсортируем все числа 0 до N включительно по количеству единиц в двоичном представлении. Таким образом, \(4=100_2\) идет раньше чем \(3=11_2\), так как в двоичном представлении имеет на одну единицу меньше. В случае одинакового количества единиц раньше идет то число, которое меньше.
Пример сортировки для N=7: 0,1,2,4,3,5,6,7. Даны числа N и K. Требуется найти следующее после K в указанном выше порядке.В первой строке входного файла содержится число \(N\) (\(1 \leq N \leq 10^{100}\)). Вторая строка содержит число \(K\) (\(0 \leq K \leq N\)).
В выходной файл выведите следующее за K число. В случае, если K - последнее число, то выведите -1.
10 4
8
12 11
-1
Назовем античислом для числа N число, получающееся по следующему правилу. Число N записывают в двоичной системе счисления, и затем заменяют все нули на единицы, а единицы - на нули. Требуется написать программу, вычисляющую античисло.
Вводится одно число N в десятичной системе счисления - натуральное число, не превышающее 1 000 000.
Выведите античисло для числа N (также в десятичной системе счисления).
5
2
12
3
23
8
Вчера у Васи был счастливый день: он наконец дописал программу всей своей жизни! И, недолго думая, он тут же запустил ее на Самом Главном Тесте.
Программа Васи очень сложная, и потому работает она долго. Поэтому Вася пошел спать, а наутро, сегодня, обнаружил, что программа, вместо того, чтобы посчитать нужный Ответ, вылетела с непонятной ошибкой.
Вася понял, что напрасно он не тестировал программу. Ведь Самый Главный Тест очень сложный — в нем есть \(N\) отдельных подзадач, и каждую из них надо решить. Конечно, надо было бы начать тестирование с меньшего количества подзадач, но ведь Вася — очень умный программист! И он абсолютно уверен, что его программа корректно решила все подзадачи, кроме какой-то одной. Вот только Вася не знает, какой именно.
Вася может изменять Самый Главный Тест, отключая в нем те или иные подзадачи. Он надеется, что, если среди отключенных будет та подзадача, на которой его программа не работает, то получившийся тест его программа спокойно пройдет. Но вот проблема: программа работает долго, а подзадач много, и потому, если отключать задачи по одной, то придется очень долго искать нужную. А Вася очень хочет узнать, где ошибка, уже завтра!
К счастью, у Васи в распоряжении есть много компьютеров. Он может на некоторых из них запустить свою программу на каком-то тесте (т.е. на Самом Главном Тесте с некоторыми отключенными подзадачами), а назавтра посмотреть, какие программы завершились успешно, а какие нет, — и по результатам понять, какая подзадача создавала проблемы. Помогите Васе подобрать тесты для каждого из компьютеров, т.е. объясните ему, какие подзадачи в каком тесте он должен отключить, так, чтобы назавтра, узнав результаты работы программы на этих тестах, он смог бы уверенно определить, с какой подзадачей у него возникают проблемы (естественно, считая, что такая подзадача только одна, ведь Вася — очень умный программист!)
Учтите, что Васе не хочется делать лишнюю работу по запуску программ и определению их результата, поэтому он хочет минимизировать количество запусков (т.е. фактически количество компьютеров, ведь его программа настолько сложная, что на одном компьютере можно запустить только один экземпляр программы).
В первой и единственной строке входного файла находится одно целое число \(N\) — количество подзадач в Самом Главном Тесте (\(1 \le N \le 10^5\)).
В первой строке выходного файла выведите минимальное необходимое количество компьютеров \(M\). В последующих \(M\) строках выведите информацию о том, на каком тесте надо запускать программу на каком компьютере. А именно, в \(i\)-ую из них выведите последовательность чисел \(k_i\), \(b_{i1}\), \(b_{i2}\), ...., \(b_{ik_i}\), где \(k_i\) — количество подзадач, которые надо отключить в тесте, на котором будет работать программа на \(i\)-ом компьютере, а \(b_{ij}\) (\(1 \le j \le k_i\), \(1 \le b_{ij} \le N\)) — номера подзадач, которые надо отключать. Числа \(b_{ij}\) должны быть различны для каждого фиксированного \(i\).
Подзадачи нумеруются от 1 до \(N\).
В пределах одной строки подзадачи можете выводить в любом порядке. Если есть несколько оптимальных решений, выведите любое.
В примере:
5
3 3 1 3 5 3 1 2 5 4 1 2 3 4
Дано одно натуральное число n (1 ≤ n ≤ 105)
Выведите число 2n
10
1024