wrestПо Вашему ТЗ нашел весьма спорное место.
Но прежде, чем его обсуждать нужно договориться о терминах. Хотя бы в рамках этой ветки обсуждения.
"Батчем" будем называть структуру, когда расставлены
только обязательные простые, то есть простые меньше или равные длине цепочки.
"Паттерном" будем называть структуру, когда расставлены обязательные простые, а также необязательные простые (большие длины цепочки) в степенях больше единицы.
Так вот,
а) для для некоторых цепочек количество "батчей" будет сотни миллионов, может даже больше. Но с этим ещё как-то можно жить при некоторых ухищрениях.
б) а для некоторых цепочек количество паттернов может быть огромным количеством на один батч! Например, для

подставляется 17 квадратов простых и количество паттернов на один "батч" -

Да, и не нужно генерировать паттерны: как расставлять степени необязательных простых и как их перебирать - вполне понятно из структуры батча и реализуется в программе
поиска цепочек, а не в программе
генерации паттернов\батичей.
В вот теперь странное место:
| Остаточное

|

| `int` |

. Допустимый набор:

|
...
Эмпирически установлено, что остатки

и

С одной стороны, Вы исключаете

. Хотя для генерации батчей оно вполне подходит.
С другой стороны, Вы допускаете

, которая даёт очень плохую

, и не подходит для паттерна.
Итого.
1. Рекомендую строить - батчи, а не паттерны. Хотя бы потому что Вы хотите универсальный генератор, а набор паттернов для многих цепочек будет генерироваться до погасания звезд.
2. Тогда допустимые остаточные

- любые чётные. Нечетные выбрасываются.
3. Так как строим батчи - контроль "бюджета" lcm - излишен.
4. Что будет полезно, как писал ранее - ограничивать степени обязательных простых, которые могут использоваться в батчах. Вида: "

- не более

,

- не более

, ...., остальные: не более, чем в квадрате".
-- 21.04.2026, 15:06 --"Эмпирический" приоритет остатка, Вы можете связать с количеством простых в первой степени в остатке.
Например, количество делителей остатков

будут иметь одинаковый "приоритет остатка". Так как после подстановки степеней более 1, во всех них останется

.