Задача 774
Конъюнктивные последовательности

Пусть '$\&$' означает побитовую операцию И.
Например, $10\,\&\, 12 = 1010_2\,\&\, 1100_2 = 1000_2 = 8$.

Назовем конечную последовательность неотрицательных целых чисел $(a_1, a_2, \ldots, a_n)$ конъюнктивной, если $a_i\,\&\, a_{i+1} \neq 0$ for all $i=1\ldots n-1$.

Определим $c(n,b)$ как количество конъюнктивных последовательностей длины $n$, в которых все элементы $\le b$.

Известно, что $c(3,4)=18$, $c(10,6)=2496120$ и $c(100,200) \equiv 268159379 \pmod {998244353}$.

Найдите $c(123,123456789)$. В качестве ответа приведите остаток от деления полученного результата на $998244353$.

Оригинал
 
© Проект Эйлера | Translated problems from ProjectEuler.net