We want all residues \(x\) satisfying
$$x^3\equiv1\pmod n,$$
and then we sum all nontrivial solutions, meaning all residues with \(1<x<n\). The default value used by the code is
$$n=13082761331670030=2\cdot3\cdot5\cdot7\cdot11\cdot13\cdot17\cdot19\cdot23\cdot29\cdot31\cdot37\cdot41\cdot43,$$
which is squarefree.
Because \(n\) is squarefree, we may write
$$n=\prod_{i=1}^{k}p_i$$
with distinct primes \(p_i\). Then
$$x^3\equiv1\pmod n$$
is equivalent to the simultaneous system
$$x^3\equiv1\pmod{p_i}\qquad(i=1,\dots,k).$$
So the whole problem becomes:
1. find all cube roots of unity modulo each prime \(p_i\),
2. combine one local choice from each prime modulus using the Chinese Remainder Theorem.
For a prime \(p\), the nonzero residues modulo \(p\) form a cyclic multiplicative group of size \(p-1\). In a cyclic group of order \(p-1\), the equation
$$u^3=1$$
has exactly
$$\gcd(3,p-1)$$
solutions. Therefore:
1. if \(p\equiv2\pmod3\), then \(\gcd(3,p-1)=1\), so the only root is \(1\),
2. if \(p\equiv1\pmod3\), then \(\gcd(3,p-1)=3\), so there are three roots.
The code does not use a special generator argument; since every prime factor of the target \(n\) is small, it simply brute-forces all residues \(1\le x<p\) and keeps those with \(x^3\equiv1\pmod p\).
For \(p=7\), the roots are
$$R_7=\{1,2,4\},$$
because \(1^3\equiv2^3\equiv4^3\equiv1\pmod7\).
For \(p=13\), the roots are
$$R_{13}=\{1,3,9\}.$$
For primes such as \(5,11,17,23,29,41\), which are \(2\pmod3\), the local root set is just \(\{1\}\).
Once we choose one root \(r_i\in R_{p_i}\) for every prime factor, there is a unique residue modulo \(n\) satisfying
$$x\equiv r_i\pmod{p_i}\qquad(i=1,\dots,k).$$
The implementation combines congruences two at a time. If we already know
$$x\equiv a_1\pmod{m_1},\qquad x\equiv a_2\pmod{m_2},$$
with \(\gcd(m_1,m_2)=1\), then the merged solution is
$$x=a_1+m_1\left((a_2-a_1)m_1^{-1}\bmod m_2\right).$$
This is exactly the formula implemented in crt_pair.
The default number \(n\) has 14 distinct prime factors. Among them, exactly six primes are \(1\pmod3\):
$$7,13,19,31,37,43.$$
Those contribute three local roots each. Every other prime contributes only one local root. Therefore the total number of global solutions is
$$3^6=729.$$
That is why a direct DFS over all CRT combinations is entirely practical.
The roots modulo \(7\) are \(\{1,2,4\}\). The trivial root \(1\) is excluded from the final sum, so the code returns
$$2+4=6.$$
This matches the checkpoint solve(7)=6.
Here we combine
$$R_7=\{1,2,4\},\qquad R_{13}=\{1,3,9\}.$$
By CRT, each pair \((r_7,r_{13})\) gives exactly one solution modulo \(91\), so there are
$$3\cdot3=9$$
solutions in total. They are
$$1,\;9,\;16,\;22,\;29,\;53,\;74,\;79,\;81.$$
Excluding the trivial residue \(1\), the sum is
$$9+16+22+29+53+74+79+81=363,$$
which is exactly the checkpoint solve(91)=363.
The DFS enumerates all global CRT solutions. At the leaf of the recursion, the code adds the residue only if
$$1<x<n.$$
That removes the always-present trivial solution \(x=1\) and keeps every nontrivial cube root of unity modulo \(n\).
distinct_prime_factors extracts the distinct prime divisors of \(n\).
mod_pow tests local candidates by checking \(x^3\bmod p\).
crt_pair merges two congruences using an inverse computed by mod_inverse.
solve first builds roots_by_prime, then runs a DFS over all local root choices, updating the current CRT residue and modulus at each step.
The command-line interface supports --n=<value> and --skip-checkpoints.
If the distinct prime factors are \(p_1,\dots,p_k\), then the number of DFS states is essentially
$$\prod_{i=1}^{k}\gcd(3,p_i-1).$$
Each transition performs only constant-time modular arithmetic at machine-word size, so the method is dominated by the number of local-root combinations.
Gesucht sind alle Restklassen \(x\) mit
$$x^3\equiv1\pmod n,$$
und anschließend die Summe aller nichttrivialen Lösungen \(1<x<n\). Der Standardwert im Code ist
$$n=13082761331670030,$$
also das quadratfreie Produkt aller Primzahlen von \(2\) bis \(43\).
Für quadratfreies
$$n=\prod_{i=1}^{k}p_i$$
ist
$$x^3\equiv1\pmod n$$
äquivalent zum System
$$x^3\equiv1\pmod{p_i}\qquad(i=1,\dots,k).$$
Die multiplikative Gruppe modulo einer Primzahl \(p\) hat Ordnung \(p-1\) und ist zyklisch. Daher besitzt die Gleichung
$$u^3=1$$
genau
$$\gcd(3,p-1)$$
Lösungen. Also:
1. bei \(p\equiv2\pmod3\) nur die Lösung \(1\),
2. bei \(p\equiv1\pmod3\) genau drei Lösungen.
Für \(p=7\) gilt
$$R_7=\{1,2,4\},$$
und für \(p=13\)
$$R_{13}=\{1,3,9\}.$$
Bei Primzahlen wie \(5\) oder \(11\) ist \(R_p=\{1\}\).
Wählt man für jedes \(p_i\) eine lokale Lösung \(r_i\in R_{p_i}\), dann gibt es genau eine globale Restklasse modulo \(n\) mit
$$x\equiv r_i\pmod{p_i}.$$
Der Code führt die Zusammenführung paarweise durch:
$$x=a_1+m_1\left((a_2-a_1)m_1^{-1}\bmod m_2\right).$$
Unter den Primfaktoren des Standard-\(n\) sind genau sechs Zahlen kongruent \(1\pmod3\):
$$7,13,19,31,37,43.$$
Jede davon liefert drei lokale Wurzeln, alle übrigen nur eine. Also gibt es insgesamt
$$3^6=729$$
globale Lösungen. Deshalb ist eine direkte DFS über alle CRT-Kombinationen völlig ausreichend.
Die Lösungen modulo \(7\) sind \(\{1,2,4\}\). Nach Ausschluss der trivialen Lösung \(1\) bleibt
$$2+4=6,$$
also solve(7)=6.
Hier kombiniert man
$$R_7=\{1,2,4\},\qquad R_{13}=\{1,3,9\}.$$
Nach CRT entstehen \(3\cdot3=9\) Lösungen modulo \(91\):
$$1,\;9,\;16,\;22,\;29,\;53,\;74,\;79,\;81.$$
Ohne die triviale Lösung \(1\) ergibt sich
$$9+16+22+29+53+74+79+81=363,$$
genau wie im Checkpoint solve(91)=363.
Am Ende addiert die DFS nur Lösungen mit
$$1<x<n,$$
sodass der immer vorhandene triviale Würfelwurzelrest \(x=1\) ausgeschlossen bleibt.
distinct_prime_factors bestimmt die verschiedenen Primteiler von \(n\).
mod_pow testet lokale Kandidaten durch \(x^3\bmod p\).
crt_pair vereinigt zwei Kongruenzen mit einer modularen Inversen aus mod_inverse.
solve baut zuerst roots_by_prime auf und enumeriert dann per DFS alle lokalen Wurzelwahlen.
Die Kommandozeile unterstützt --n=<value> und --skip-checkpoints.
Die dominierende Zahl von Zuständen ist
$$\prod_{i=1}^{k}\gcd(3,p_i-1).$$
Jeder Übergang verwendet nur konstante modulare Wortarithmetik, also wird die Laufzeit praktisch vollständig durch die Zahl der lokalen Wurzelkombinationen bestimmt.
Aranan kalıntılar
$$x^3\equiv1\pmod n$$
koşulunu sağlayan tüm \(x\) değerleridir; ardından trivial çözüm dışında kalan \(1<x<n\) çözümleri toplanır. Kodun varsayılan değeri
$$n=13082761331670030$$
olup \(2\)'den \(43\)'e kadar tüm asalların karekökten arınmış çarpımıdır.
\(n\) karekökten arınmışsa
$$n=\prod_{i=1}^{k}p_i$$
şeklinde yazılır ve
$$x^3\equiv1\pmod n$$
koşulu, her asal için ayrı ayrı
$$x^3\equiv1\pmod{p_i}$$
koşullarına eşdeğerdir.
Asal \(p\) için sıfır olmayan kalıntılar grubu mertebesi \(p-1\) olan çevrimsel bir gruptur. Bu grupta
$$u^3=1$$
denklemindeki çözüm sayısı tam olarak
$$\gcd(3,p-1)$$
olur. Yani:
1. \(p\equiv2\pmod3\) ise yalnızca \(1\) kökü vardır,
2. \(p\equiv1\pmod3\) ise tam 3 kök vardır.
\(p=7\) için kökler
$$R_7=\{1,2,4\}$$
olur. \(p=13\) için ise
$$R_{13}=\{1,3,9\}.$$
\(5\), \(11\), \(17\) gibi \(2\pmod3\) olan asal modlarda kök kümesi yalnızca \(\{1\}\)'dir.
Her asal için bir yerel kök \(r_i\in R_{p_i}\) seçilirse,
$$x\equiv r_i\pmod{p_i}$$
sistemini sağlayan tek bir global kalıntı sınıfı vardır. Kod bunu ikili CRT birleştirmeleriyle yapar:
$$x=a_1+m_1\left((a_2-a_1)m_1^{-1}\bmod m_2\right).$$
Varsayılan \(n\)'nin asal çarpanları arasında yalnızca şu altı asal \(1\pmod3\)'tür:
$$7,13,19,31,37,43.$$
Bunların her biri 3 yerel kök verir; diğer bütün asallar yalnızca 1 kök verir. Dolayısıyla toplam global çözüm sayısı
$$3^6=729$$
kadardır. Bu yüzden DFS ile bütün CRT kombinasyonlarını doğrudan gezmek yeterince küçüktür.
\(7\) modundaki çözümler \(\{1,2,4\}\) olduğundan, trivial kök \(1\) çıkarılınca toplam
$$2+4=6$$
olur. Bu da solve(7)=6 kontrolüne karşılık gelir.
Burada
$$R_7=\{1,2,4\},\qquad R_{13}=\{1,3,9\}$$
kümeleri CRT ile birleştirilir. Böylece toplam
$$3\cdot3=9$$
çözüm gelir. Bunlar
$$1,\;9,\;16,\;22,\;29,\;53,\;74,\;79,\;81$$
şeklindedir. Trivial çözüm \(1\) çıkarılınca
$$9+16+22+29+53+74+79+81=363$$
elde edilir; bu da kodun solve(91)=363 checkpoint'idir.
DFS tüm CRT çözümlerini üretir; yaprakta yalnızca
$$1<x<n$$
koşulunu sağlayan kalıntılar toplama eklenir. Böylece her zaman var olan trivial kök \(x=1\) hariç tutulur.
distinct_prime_factors, \(n\)'nin farklı asal bölenlerini çıkarır.
mod_pow, yerel adayların \(x^3\equiv1\pmod p\) koşulunu test eder.
crt_pair, mod_inverse kullanarak iki kongruansı tek bir kongruansta birleştirir.
solve önce her asal için kök listesini kurar, ardından DFS ile tüm yerel seçim kombinasyonlarını dolaşır.
Komut satırı seçenekleri: --n=<value> ve --skip-checkpoints.
Esas durum sayısı
$$\prod_{i=1}^{k}\gcd(3,p_i-1)$$
ile belirlenir. Her geçiş sabit sayıda modüler işlem içerdiği için toplam maliyet neredeyse tamamen yerel kök kombinasyonlarının sayısından gelir.
Buscamos todas las clases residuales que satisfacen
$$x^3\equiv1\pmod n,$$
y luego sumamos solo las soluciones no triviales, es decir, las que cumplen \(1<x<n\). El valor por defecto del código es
$$n=13082761331670030,$$
producto libre de cuadrados de todos los primos entre \(2\) y \(43\).
Si
$$n=\prod_{i=1}^{k}p_i$$
es libre de cuadrados, entonces
$$x^3\equiv1\pmod n$$
equivale al sistema
$$x^3\equiv1\pmod{p_i}\qquad(i=1,\dots,k).$$
El grupo multiplicativo módulo un primo \(p\) tiene orden \(p-1\) y es cíclico. Por tanto, la ecuación
$$u^3=1$$
tiene exactamente
$$\gcd(3,p-1)$$
soluciones. Así:
1. si \(p\equiv2\pmod3\), solo aparece la raíz \(1\),
2. si \(p\equiv1\pmod3\), aparecen tres raíces.
Para \(p=7\),
$$R_7=\{1,2,4\},$$
y para \(p=13\),
$$R_{13}=\{1,3,9\}.$$
En primos como \(5\) o \(11\), que son \(2\pmod3\), solo queda \(\{1\}\).
Si elegimos una raíz local \(r_i\in R_{p_i}\) para cada primo, existe una única clase residual global que cumple
$$x\equiv r_i\pmod{p_i}.$$
El programa combina congruencias de dos en dos usando
$$x=a_1+m_1\left((a_2-a_1)m_1^{-1}\bmod m_2\right).$$
En el \(n\) por defecto, exactamente seis primos son \(1\pmod3\):
$$7,13,19,31,37,43.$$
Cada uno aporta tres raíces locales; todos los demás aportan una sola. Por tanto, el número total de soluciones globales es
$$3^6=729.$$
Las soluciones módulo \(7\) son \(\{1,2,4\}\). Al excluir la trivial \(1\), queda
$$2+4=6,$$
que coincide con solve(7)=6.
Aquí se combinan
$$R_7=\{1,2,4\},\qquad R_{13}=\{1,3,9\}.$$
Por CRT aparecen \(3\cdot3=9\) soluciones:
$$1,\;9,\;16,\;22,\;29,\;53,\;74,\;79,\;81.$$
Sin la solución trivial \(1\), la suma es
$$9+16+22+29+53+74+79+81=363,$$
exactamente el valor del checkpoint solve(91)=363.
La DFS enumera todas las soluciones CRT y solo añade las que satisfacen
$$1<x<n.$$
Así se elimina la raíz trivial \(x=1\), que siempre existe.
distinct_prime_factors obtiene los factores primos distintos de \(n\).
mod_pow prueba los candidatos locales comprobando \(x^3\bmod p\).
crt_pair une dos congruencias con una inversa modular calculada por mod_inverse.
solve construye primero roots_by_prime y después recorre por DFS todas las elecciones locales.
La interfaz acepta --n=<value> y --skip-checkpoints.
El número dominante de estados es
$$\prod_{i=1}^{k}\gcd(3,p_i-1).$$
Cada transición requiere solo aritmética modular de costo constante, así que el trabajo total está dominado por el número de combinaciones de raíces locales.
我们要求出所有满足
$$x^3\equiv1\pmod n$$
的剩余类,然后把所有非平凡解,也就是 \(1<x<n\) 的那些解加起来。代码默认使用的
$$n=13082761331670030$$
是从 \(2\) 到 \(43\) 的全部素数的平方自由乘积。
因为 \(n\) 是平方自由的,所以可以写成
$$n=\prod_{i=1}^{k}p_i.$$
于是
$$x^3\equiv1\pmod n$$
等价于同时满足
$$x^3\equiv1\pmod{p_i}\qquad(i=1,\dots,k).$$
模素数 \(p\) 的非零剩余构成一个阶为 \(p-1\) 的循环群。因此方程
$$u^3=1$$
恰好有
$$\gcd(3,p-1)$$
个解。于是:
1. 若 \(p\equiv2\pmod3\),则只有根 \(1\),
2. 若 \(p\equiv1\pmod3\),则有三个根。
对 \(p=7\),根集合是
$$R_7=\{1,2,4\},$$
对 \(p=13\),根集合是
$$R_{13}=\{1,3,9\}.$$
像 \(5,11,17\) 这类 \(2\pmod3\) 的素数,局部根集合就只有 \(\{1\}\)。
一旦为每个素因子选定一个局部根 \(r_i\in R_{p_i}\),就唯一确定了一个模 \(n\) 的全局剩余类:
$$x\equiv r_i\pmod{p_i}.$$
程序按两个同余式一组地合并,公式是
$$x=a_1+m_1\left((a_2-a_1)m_1^{-1}\bmod m_2\right).$$
在默认的 \(n\) 中,只有下面六个素数满足 \(1\pmod3\):
$$7,13,19,31,37,43.$$
它们各自贡献三个局部根,其余素数都只贡献一个局部根。因此全局解总数就是
$$3^6=729.$$
这就是为什么代码直接 DFS 枚举所有 CRT 组合也完全可行。
模 \(7\) 的解是 \(\{1,2,4\}\)。去掉平凡解 \(1\) 后,剩余和为
$$2+4=6,$$
这正是检查值 solve(7)=6。
这里组合的是
$$R_7=\{1,2,4\},\qquad R_{13}=\{1,3,9\}.$$
由 CRT 可知一共有
$$3\cdot3=9$$
个解,它们是
$$1,\;9,\;16,\;22,\;29,\;53,\;74,\;79,\;81.$$
去掉平凡解 \(1\) 后,和为
$$9+16+22+29+53+74+79+81=363,$$
正好对应代码里的 solve(91)=363。
DFS 枚举所有 CRT 组合,在递归叶子处只把满足
$$1<x<n$$
的解加入总和。这样就自动排除了始终存在的平凡根 \(x=1\)。
distinct_prime_factors 提取 \(n\) 的不同素因子。
mod_pow 检查局部候选是否满足 \(x^3\equiv1\pmod p\)。
crt_pair 借助 mod_inverse 把两个同余式合并成一个。
solve 先构造 roots_by_prime,然后用 DFS 遍历所有局部根的选择。
命令行支持 --n=<value> 与 --skip-checkpoints。
主导状态数为
$$\prod_{i=1}^{k}\gcd(3,p_i-1).$$
每一步只做常数次机器字长的模运算,所以总成本基本由局部根组合数决定。
Нужно найти все вычеты, удовлетворяющие
$$x^3\equiv1\pmod n,$$
а затем просуммировать только нетривиальные решения \(1<x<n\). Значение по умолчанию в программе:
$$n=13082761331670030,$$
то есть квадратсвободное произведение всех простых от \(2\) до \(43\).
Если
$$n=\prod_{i=1}^{k}p_i,$$
то условие
$$x^3\equiv1\pmod n$$
равносильно системе
$$x^3\equiv1\pmod{p_i}\qquad(i=1,\dots,k).$$
Мультипликативная группа по модулю простого \(p\) имеет порядок \(p-1\) и является циклической. Поэтому уравнение
$$u^3=1$$
имеет ровно
$$\gcd(3,p-1)$$
решений. Значит:
1. при \(p\equiv2\pmod3\) существует только корень \(1\),
2. при \(p\equiv1\pmod3\) существует три корня.
Для \(p=7\)
$$R_7=\{1,2,4\},$$
а для \(p=13\)
$$R_{13}=\{1,3,9\}.$$
Для простых вроде \(5\) и \(11\) множество решений равно просто \(\{1\}\).
Если для каждого \(p_i\) выбрано локальное решение \(r_i\in R_{p_i}\), то существует единственный глобальный вычет modulo \(n\), удовлетворяющий
$$x\equiv r_i\pmod{p_i}.$$
Код склеивает сравнения попарно по формуле
$$x=a_1+m_1\left((a_2-a_1)m_1^{-1}\bmod m_2\right).$$
Среди простых делителей стандартного \(n\) только шесть чисел сравнимы с \(1\pmod3\):
$$7,13,19,31,37,43.$$
Они дают по три локальных корня, а все остальные только по одному. Поэтому число глобальных решений равно
$$3^6=729.$$
Решения modulo \(7\): \(\{1,2,4\}\). После удаления тривиального корня \(1\) остаётся
$$2+4=6,$$
что совпадает с проверкой solve(7)=6.
Здесь комбинируются множества
$$R_7=\{1,2,4\},\qquad R_{13}=\{1,3,9\}.$$
По CRT возникает \(3\cdot3=9\) решений:
$$1,\;9,\;16,\;22,\;29,\;53,\;74,\;79,\;81.$$
Если убрать тривиальное \(1\), получаем
$$9+16+22+29+53+74+79+81=363,$$
то есть ровно значение checkpoint-а solve(91)=363.
В конце DFS добавляет только те вычеты, для которых
$$1<x<n.$$
Тем самым автоматически исключается всегда существующий тривиальный корень \(x=1\).
distinct_prime_factors находит различные простые делители числа \(n\).
mod_pow проверяет локальных кандидатов условием \(x^3\equiv1\pmod p\).
crt_pair объединяет два сравнения при помощи обратного элемента из mod_inverse.
solve сначала строит roots_by_prime, затем выполняет DFS по всем локальным выборам.
Поддерживаются параметры --n=<value> и --skip-checkpoints.
Главное число состояний равно
$$\prod_{i=1}^{k}\gcd(3,p_i-1).$$
Каждый переход использует лишь константное число модульных операций, так что трудоёмкость определяется почти целиком количеством комбинаций локальных корней.
نريد جميع البواقي التي تحقق
$$x^3\equiv1\pmod n,$$
ثم نجمع الحلول غير البديهية فقط، أي تلك التي تحقق \(1<x<n\). القيمة الافتراضية في الكود هي
$$n=13082761331670030,$$
وهي حاصل ضرب خالٍ من المربعات لجميع الأعداد الأولية من \(2\) حتى \(43\).
بما أن
$$n=\prod_{i=1}^{k}p_i$$
خالية من التكرار، فإن
$$x^3\equiv1\pmod n$$
تكافئ النظام
$$x^3\equiv1\pmod{p_i}\qquad(i=1,\dots,k).$$
المجموعة الضربية modulo عدد أولي \(p\) رتبتها \(p-1\) وهي دورية. لذلك فإن المعادلة
$$u^3=1$$
تملك بالضبط
$$\gcd(3,p-1)$$
حلولًا. ومن ثم:
1. إذا كان \(p\equiv2\pmod3\) فالحل الوحيد هو \(1\)،
2. إذا كان \(p\equiv1\pmod3\) فهناك ثلاثة حلول.
عند \(p=7\) نحصل على
$$R_7=\{1,2,4\},$$
وعند \(p=13\) نحصل على
$$R_{13}=\{1,3,9\}.$$
أما في أوليات مثل \(5\) و\(11\) فمجموعة الجذور هي فقط \(\{1\}\).
إذا اخترنا جذرًا محليًا \(r_i\in R_{p_i}\) لكل عامل أولي، فهناك باقٍ وحيد modulo \(n\) يحقق
$$x\equiv r_i\pmod{p_i}.$$
ويتم دمج معادلتين في كل خطوة عبر الصيغة
$$x=a_1+m_1\left((a_2-a_1)m_1^{-1}\bmod m_2\right).$$
في قيمة \(n\) الافتراضية، لا يوجد سوى ستة أوليات تحقق \(1\pmod3\):
$$7,13,19,31,37,43.$$
كل واحد منها يعطي ثلاثة جذور محلية، بينما تعطي بقية الأوليات جذرًا واحدًا فقط. لذلك يكون عدد الحلول العالمية
$$3^6=729.$$
وهذا ما يجعل DFS المباشرة على جميع تراكيب CRT عملية جدًا.
الحلول modulo \(7\) هي \(\{1,2,4\}\). وبعد حذف الحل البديهي \(1\) يبقى
$$2+4=6,$$
وهو بالضبط ما يطابق التحقق solve(7)=6.
هنا نجمع بين
$$R_7=\{1,2,4\},\qquad R_{13}=\{1,3,9\}.$$
وبحسب CRT نحصل على
$$3\cdot3=9$$
حلول modulo \(91\)، وهي
$$1,\;9,\;16,\;22,\;29,\;53,\;74,\;79,\;81.$$
وباستبعاد الحل البديهي \(1\) يكون المجموع
$$9+16+22+29+53+74+79+81=363,$$
وهو تمامًا قيمة checkpoint في الكود: solve(91)=363.
في نهاية DFS يضيف البرنامج فقط البواقي التي تحقق
$$1<x<n.$$
وهكذا يستبعد الجذر البديهي \(x=1\) الذي يوجد دائمًا.
distinct_prime_factors يستخرج العوامل الأولية المختلفة لـ \(n\).
mod_pow يفحص المرشحين المحليين بشرط \(x^3\equiv1\pmod p\).
crt_pair يدمج معادلتين باستعمال معكوس معياري تحسبه الدالة mod_inverse.
solve يبني أولًا roots_by_prime ثم يمر DFS على جميع الاختيارات المحلية.
تقبل الواجهة الوسيطين --n=<value> و--skip-checkpoints.
عدد الحالات الأساسي يساوي
$$\prod_{i=1}^{k}\gcd(3,p_i-1).$$
ولأن كل انتقال يتطلب فقط عددًا ثابتًا من العمليات المعيارية، فإن الكلفة الكلية تهيمن عليها تراكيب الجذور المحلية.