Вы — искатель приключений, работающий на футуристическую корпорацию RoboCorp. Ваш текущий уровень навыков — это целое число $$$s$$$ в диапазоне $$$[1, n]$$$, но вы не знаете его точное значение. Ваша цель — достичь уровня навыков $$$\geq n$$$, выполняя миссии для RoboCorp, но каждая миссия стоит драгоценных робокоинов.
Вы можете выбирать миссии любой сложности и любой положительной продолжительности (в часах). Однако стоимость зависит как от длины новой миссии, так и от того, как сложность новой миссии соотносится с вашей последней.
Пусть $$$x$$$ — это сложность вашей последней миссии. Если вы хотите взять новую миссию со сложностью $$$y$$$ и продолжительностью $$$l$$$:
Ваши навыки улучшаются только тогда, когда вы берете миссию, сложность которой точно соответствует вашему текущему уровню навыков:
После каждой миссии вы все равно не знаете свое фактическое значение навыков.
Вы начинаете с $$$10^6$$$ робокоинов. Найдите стратегию (последовательность миссий), которая не превышает ваш бюджет и гарантирует, что ваш уровень навыков станет как минимум $$$n$$$, независимо от того, каким был ваш начальный уровень навыков.
Входные данные содержит одну строку с целым числом $$$n$$$ ($$$n = 4$$$ или $$$n = 250\,000$$$) — целевой уровень навыков (то есть к концу ваш уровень навыков должен быть $$$\geq n$$$).
В этой задаче ровно $$$2$$$ теста (включая пример). В примере $$$n = 4$$$, а в другом тесте $$$n = 250\,000$$$.
Взломы в этой задаче не допускаются.
В первой строке выведите одно целое число $$$k$$$ ($$$0 \leq k \leq 10^6$$$) — количество миссий, которые вы планируете выполнить.
Затем выведите $$$k$$$ строк. В $$$i$$$-й строке должны содержаться два целых числа $$$y$$$ и $$$l$$$ ($$$1 \leq y, l \leq 10^6$$$) — сложность и продолжительность (в часах) $$$i$$$-й миссии соответственно.
4
4 1 4 3 1 2 1 3 1
В примере ваш целевой уровень навыков $$$n = 4$$$. Вы можете использовать следующую стратегию:
В общей сложности вы тратите $$$2007$$$ робокоинов, что укладывается в ваш бюджет в $$$10^6$$$ робокоинов.
Теперь мы проверим, что эта стратегия всегда работает:
Таким образом, независимо от того, каким был ваш начальный уровень навыков, вы заканчиваете с уровнем навыков $$$\geq n$$$.