Məsələlər
BFS (Binary Fibonacci String)
BFS (Binary Fibonacci String)
Мы знакомы с последовательностью Фибоначчи (\textbf{1}, \textbf{1}, \textbf{2}, \textbf{3}, \textbf{5}, \textbf{8}, ...). А что будет, если мы определим аналогичную последовательность для строк? Звучит интересно? Давайте посмотрим.
Мы определим эту последовательность так:
\textbf{BFS(0) = 0}
\textbf{BFS(1) = 1} (здесь "\textbf{0}" и "\textbf{1}" являются строками, а не просто числами \textbf{0} или \textbf{1})
для всех (\textbf{n} > \textbf{1})
\textbf{BFS(n) = BFS(n - 2) + BFS(n - 1)} (здесь \textbf{+} обозначает операцию конкатенации). (то есть, \textbf{n}-я строка в этой последовательности представляет собой объединение двух предыдущих строк).
Итак, первые несколько строк в этой последовательности такие: \textbf{0}, \textbf{1}, \textbf{01}, \textbf{101}, \textbf{01101} и так далее.
Ваша задача: для каждой заданной \textbf{N}-й строки этой последовательности найти и вывести все её элементы с \textbf{i}-й по \textbf{j}-ю позицию включительно (все числа \textbf{N}, \textbf{i}, \textbf{j} нумеруются начиная с \textbf{0}).
\InputFile
Первая строка входного файла содержит целое число \textbf{T}\textit{ (}\textbf{T}\textit{ ≤ }\textbf{100}\textit{)}, указывающее общее количество тестов. Описание каждого теста приведено ниже:
Три целых числа \textbf{N}, \textbf{i}, \textbf{j} (\textbf{0} ≤ \textbf{N}, \textbf{i}, \textbf{j} ≤ \textbf{2^31 - 1}) и (\textbf{i} ≤ \textbf{j} и \textbf{j-i} ≤ \textbf{10000}). Можно также предположить, что \textbf{i} и \textbf{j} будут индексами существующей элементов строки (т.е. \textbf{0} ≤ \textbf{i}, \textbf{j} < \textit{length} of \textbf{BFS(N)}).
\OutputFile
Для каждого заданного теста вывести искомую подстроку \textbf{BFS(N)} с \textbf{i}-го по \textbf{j}-й символ в отдельной строке.
Giriş verilənləri #1
3 3 1 2 1 0 0 9 5 12
Çıxış verilənləri #1
01 1 10101101