Дрейфующие подмножества
Задача 871
Пусть $f$ будет функцией от конечного множества $S$ на само себя. Дрейфующее подмножество для $f$ - это подмножество $A$ от $S$, такое что количество элементов в объединении $A \cup f(A)$ равно удвоенному количеству элементов в $A$.
Определим $D(f)$ как максимальное количество элементов среди всех дрейфующих подмножеств для $f$.
Для положительного целого числа $n$ определим $f_n$ как функцию от $\{0, 1, \dots, n - 1\}$ на само себя, отображающую $x$ в $x^3 + x + 1 \bmod n$.
Известно, что $D(f_5) = 1$ и $D(f_{10}) = 3$.
Найдите $\displaystyle\sum_{i = 1}^{100} D(f_{10^5 + i})$.