LAMMP 4.2.0
Lamina High-Precision Arithmetic Library
载入中...
搜索中...
未找到
prime_table.c 文件参考
+ prime_table.c 的引用(Include)关系图:

浏览源代码.

结构体

struct  prime_int
 Copyright (C) 2026 HJimmyK(Jericho Knox) 更多...
 

宏定义

#define G   global_prime_int_table
 
#define IDX(p)   ((p) >> 1)
 
#define set_not_prime(p, i)   p[i / LMMP_BITSET_BITS] &= not_mask_64[(i % LMMP_BITSET_BITS)]
 
#define set_prime(p, i)   p[i / LMMP_BITSET_BITS] |= (1ULL << (i % LMMP_BITSET_BITS))
 

类型定义

typedef struct prime_int prime_int
 Copyright (C) 2026 HJimmyK(Jericho Knox)
 

函数

int lmmp_is_prime_table_ (uint p)
 根据全局素数表判断一个数是否为素数
 
void lmmp_prime_cache_free_ (prime_cache_t *cache)
 释放素数表缓存
 
void lmmp_prime_cache_init_ (prime_cache_t *cache, uint n)
 初始化素数表缓存
 
void lmmp_prime_cache_next_ (prime_cache_t *cache)
 素数表缓存更新(从小到大遍历全局质数表)
 
ushort lmmp_prime_cnt16_ (ushort n)
 计算小于等于 n 的素数数量
 
void lmmp_prime_int_table_free_ (void)
 释放全局素数表
 
void lmmp_prime_int_table_init_ (uint n)
 初始化全局素数表
 
static uint prime_table_size (uint n)
 

变量

static _Thread_local prime_int global_prime_int_table
 
static const lmmp_bitset_t not_mask_64 [(64)]
 
const ushort prime_short_table [6542]
 
const lmmp_bitset_t r35711_mask_map [19]
 
static const lmmp_bitset_t wheel_mask [105]
 

结构体说明

◆ prime_int

struct prime_int

Copyright (C) 2026 HJimmyK(Jericho Knox)

This file is part of LAMMP.

LAMMP is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License (LGPL) as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed WITHOUT ANY WARRANTY.

See https://www.gnu.org/licenses/.

在文件 prime_table.c22 行定义.

+ prime_int 的协作图:
成员变量
lmmp_bitset_p restrict map
uint map_size
uint max

宏定义说明

◆ G

在文件 prime_table.c34 行定义.

◆ IDX

#define IDX (   p)    ((p) >> 1)

在文件 prime_table.c120 行定义.

◆ set_not_prime

#define set_not_prime (   p,
  i 
)    p[i / LMMP_BITSET_BITS] &= not_mask_64[(i % LMMP_BITSET_BITS)]

在文件 prime_table.c121 行定义.

◆ set_prime

#define set_prime (   p,
  i 
)    p[i / LMMP_BITSET_BITS] |= (1ULL << (i % LMMP_BITSET_BITS))

在文件 prime_table.c122 行定义.

类型定义说明

◆ prime_int

Copyright (C) 2026 HJimmyK(Jericho Knox)

This file is part of LAMMP.

LAMMP is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License (LGPL) as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed WITHOUT ANY WARRANTY.

See https://www.gnu.org/licenses/.

函数说明

◆ lmmp_is_prime_table_()

int lmmp_is_prime_table_ ( uint  p)

根据全局素数表判断一个数是否为素数

参数
p待判断的数
警告
p>1, p%2==1
注解
若 p 超过了当前全局素数表的范围,则返回 -1
返回
1 素数,0 合数,-1 超出质数表范围

在文件 prime_table.c207 行定义.

207 {
208 if (p < PRIME_SHORT_TABLE_N) {
210 if (prime_short_table[i - 1] == p)
211 return 1;
212 return 0;
213 } else if (p > G.max) {
214 return -1;
215 } else {
216 // p>=3
217 lmmp_param_assert(p > 1);
218 lmmp_param_assert((p & 1) == 1);
219 uint idx = IDX(p);
220 return (G.map[idx / LMMP_BITSET_BITS] >> (idx % LMMP_BITSET_BITS) & 1);
221 }
222}
#define lmmp_param_assert(x)
Definition lmmp.h:423
#define n
uint32_t uint
Definition numth.h:31
uint16_t ushort
Definition numth.h:29
#define IDX(p)
const ushort prime_short_table[6542]
#define G
Definition prime_table.c:34
ushort lmmp_prime_cnt16_(ushort n)
计算小于等于 n 的素数数量
#define LMMP_BITSET_BITS
Definition prime_table.h:25
#define PRIME_SHORT_TABLE_N
Definition prime_table.h:31

引用了 G, IDX, LMMP_BITSET_BITS, lmmp_param_assert, lmmp_prime_cnt16_(), n, prime_short_table , 以及 PRIME_SHORT_TABLE_N.

被这些函数引用 lmmp_is_prime_uint_() , 以及 lmmp_is_prime_ulong_().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ lmmp_prime_cache_free_()

void lmmp_prime_cache_free_ ( prime_cache_t cache)

释放素数表缓存

参数
cache缓存结构体

在文件 prime_table.c303 行定义.

303 {
304 lmmp_free(cache->pp);
305 cache->pp = NULL;
306}
void lmmp_free(void *ptr)
内存释放函数(调用lmmp_heap_free_fn)
Definition memory.c:208

引用了 lmmp_free() , 以及 n.

被这些函数引用 lmmp_odd_2factorial_uint_(), lmmp_odd_factorial_uint_(), lmmp_odd_multinomial_uint_(), lmmp_odd_nCr_uint_(), lmmp_odd_nPr_uint_() , 以及 lmmp_primefac_().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ lmmp_prime_cache_init_()

void lmmp_prime_cache_init_ ( prime_cache_t cache,
uint  n 
)

初始化素数表缓存

参数
cache缓存结构体
n遍历素数表的范围(超过n时或者遍历到全局质数表末尾,is_end 置为 1)

在文件 prime_table.c224 行定义.

224 {
225 lmmp_param_assert(n > 2);
226 lmmp_param_assert(n <= G.max);
228 cache->size = 0;
229 cache->start_idx = 0;
230 uint max_bit_idx = (n - 1) / 2;
231 cache->end_num = n;
233 cache->is_end = 0;
234}
#define PRIME_CACHE_SIZE
Definition mparam.h:132
#define ALLOC_TYPE(n, type)
Definition tmp_alloc.h:173

引用了 ALLOC_TYPE, G, LMMP_BITSET_BITS, lmmp_param_assert, n , 以及 PRIME_CACHE_SIZE.

被这些函数引用 lmmp_odd_2factorial_uint_(), lmmp_odd_factorial_uint_(), lmmp_odd_multinomial_uint_(), lmmp_odd_nCr_uint_(), lmmp_odd_nPr_uint_() , 以及 lmmp_primefac_().

+ 这是这个函数的调用关系图:

◆ lmmp_prime_cache_next_()

void lmmp_prime_cache_next_ ( prime_cache_t cache)

素数表缓存更新(从小到大遍历全局质数表)

参数
cache缓存结构体
注解
缓存只存储奇素数,当遍历到全局质数表末尾或者达到设置的范围时,is_end 置为 1

在文件 prime_table.c236 行定义.

236 {
237 uint size = 0;
238 ulong idx = cache->start_idx;
239
242 uintp begin = cache->pp;
243 for (uint i = 0; i < PRIME_CACHE_BLOCK_NUM / 4; ++i) {
244 m0 = G.map[idx + 0];
245 m1 = G.map[idx + 1];
246 m2 = G.map[idx + 2];
247 m3 = G.map[idx + 3];
248
249 while (m0) {
251 begin[size++] = ((idx + 0) * LMMP_BITSET_BITS + cnt) * 2 + 1;
252 m0 &= (m0 - 1);
253 }
254 while (m1) {
256 begin[size++] = ((idx + 1) * LMMP_BITSET_BITS + cnt) * 2 + 1;
257 m1 &= (m1 - 1);
258 }
259 while (m2) {
261 begin[size++] = ((idx + 2) * LMMP_BITSET_BITS + cnt) * 2 + 1;
262 m2 &= (m2 - 1);
263 }
264 while (m3) {
266 begin[size++] = ((idx + 3) * LMMP_BITSET_BITS + cnt) * 2 + 1;
267 m3 &= (m3 - 1);
268 }
269 idx += 4;
270 }
272 cache->start_idx = idx;
273 cache->size = size;
274 return;
275 } else {
276 uint max_bit_idx = (cache->end_num - 1) / 2;
279 (last_off == LMMP_BITSET_BITS - 1) ? (lmmp_bitset_t)-1 : ((1ULL << (last_off + 1)) - 1);
281 for (uint i = idx; i < cache->end_idx; ++i) {
282 m = G.map[i];
283 while (m) {
285 cache->pp[size++] = (i * LMMP_BITSET_BITS + cnt) * 2 + 1;
286 m &= (m - 1);
287 }
288 }
289 idx = cache->end_idx;
290 m = G.map[idx] & last_mask;
291 while (m) {
293 cache->pp[size++] = (idx * LMMP_BITSET_BITS + cnt) * 2 + 1;
294 m &= (m - 1);
295 }
296 cache->start_idx = G.map_size;
297 cache->size = size;
298 cache->is_end = 1;
299 return;
300 }
301}
#define lmmp_tailing_zeros_
Definition inlines.h:161
#define lmmp_debug_assert(x)
Definition lmmp.h:412
#define PRIME_CACHE_BLOCK_NUM
Definition mparam.h:130
uint32_t * uintp
Definition numth.h:39
uint64_t ulong
Definition numth.h:32
uint64_t lmmp_bitset_t
Copyright (C) 2026 HJimmyK(Jericho Knox)
Definition prime_table.h:22

引用了 G, LMMP_BITSET_BITS, lmmp_debug_assert, lmmp_tailing_zeros_, n , 以及 PRIME_CACHE_BLOCK_NUM.

被这些函数引用 lmmp_odd_2factorial_uint_(), lmmp_odd_factorial_uint_(), lmmp_odd_multinomial_uint_(), lmmp_odd_nCr_uint_(), lmmp_odd_nPr_uint_() , 以及 lmmp_primefac_().

+ 这是这个函数的调用关系图:

◆ lmmp_prime_cnt16_()

ushort lmmp_prime_cnt16_ ( ushort  n)

计算小于等于 n 的素数数量

参数
n范围
返回
素数数量

在文件 prime_table.c311 行定义.

311 {
312 if (n < 2)
313 return 0;
316
317 ushort lo = 0;
318 ushort hi = PRIME_SHORT_TABLE_SIZE; // [lo, hi)
319
320 while (lo < hi) {
321 ushort mid = lo + (hi - lo) / 2;
322 if (prime_short_table[mid] <= n) {
323 lo = mid + 1;
324 } else {
325 hi = mid;
326 }
327 }
328 return lo;
329}
#define lo
#define PRIME_SHORT_TABLE_SIZE
Definition prime_table.h:29

引用了 lo, n, prime_short_table , 以及 PRIME_SHORT_TABLE_SIZE.

被这些函数引用 lmmp_hyperfac_(), lmmp_is_prime_table_(), lmmp_next_prime_ulong_(), lmmp_odd_2factorial_ushort_(), lmmp_odd_multinomial_ushort_(), lmmp_odd_nCr_ushort_(), lmmp_odd_nPr_ushort_(), lmmp_prev_prime_ulong_(), lmmp_prime_int_table_init_(), lmmp_prime_size_(), lmmp_primefac_(), lmmp_superfac_() , 以及 lmmp_trialdiv_().

+ 这是这个函数的调用关系图:

◆ lmmp_prime_int_table_free_()

void lmmp_prime_int_table_free_ ( void  )

释放全局素数表

在文件 prime_table.c331 行定义.

331 {
332 lmmp_free(G.map);
333 G.map = NULL;
334 G.max = 0;
335 G.map_size = 0;
336}

引用了 G, lmmp_free() , 以及 n.

被这些函数引用 lmmp_global_deinit().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ lmmp_prime_int_table_init_()

void lmmp_prime_int_table_init_ ( uint  n)

初始化全局素数表

参数
n素数表大小(含n)
警告
会自动扩容,可以重入;当 n < PRIME_SHORT_TABLE_N 时,将会直接返回
注解
仅存储奇素数

在文件 prime_table.c124 行定义.

124 {
126 return;
127 if (G.map == NULL) {
128 G.max = n;
129 G.map_size = prime_table_size(n);
131
132 // 按 105 周期填充
133 for (uint i = 0, s = 0; i < G.map_size; ++i) {
134 p[i] = wheel_mask[s];
135 // s = (s + 64) % 105;
137 if (s >= 105)
138 s -= 105;
139 }
140
141 set_not_prime(p, 0);
142 set_prime(p, IDX(3));
143 set_prime(p, IDX(5));
144 set_prime(p, IDX(7));
145
146 ushort sqrt_n = n > 4294836225 ? 0xffff : (ushort)sqrt(n);
148 uint limit_idx = IDX(n);
149
150 // 从质数 11 开始(下标 4)
151 for (ushort i = 4; i < max_idx; ++i) {
153 uint start_idx = IDX(prime * prime);
154 for (uint idx = start_idx; idx <= limit_idx; idx += prime) {
155 set_not_prime(p, idx);
156 }
157 }
158 G.map = p;
159 } else {
160 // 扩展部分(重分配)
161 uint old_N = G.max;
164
165 // 新块填充 wheel_mask
166 for (uint i = G.map_size, s = (G.map_size * 64) % 105; i < new_size; ++i) {
167 G.map[i] = wheel_mask[s];
169 if (s >= 105)
170 s -= 105;
171 }
172
173 G.map_size = new_size;
174 G.max = n;
175
176 lmmp_bitset_p restrict p = G.map;
177 set_not_prime(p, 0);
178 set_prime(p, IDX(3));
179 set_prime(p, IDX(5));
180 set_prime(p, IDX(7));
181 uint limit_idx = IDX(n - 1);
183
184 ushort sqrt_n = n > 4294836225 ? 0xffff : (ushort)sqrt(n);
186
187 // 从质数 11 开始
188 for (ushort i = 4; i < max_idx; ++i) {
190 uint start = prime * prime;
191 uint start_idx = IDX(start);
192
193 if (start_idx <= old_limit_idx) {
194 uint k = (old_limit_idx + 1 - start_idx + prime - 1) / prime;
195 start_idx += k * prime;
196 }
197
198 for (uint idx = start_idx; idx <= limit_idx; idx += prime) {
199 set_not_prime(p, idx);
200 }
201 }
202 }
203}
#define k
#define s
static uint prime_table_size(uint n)
Definition prime_table.c:37
static const lmmp_bitset_t wheel_mask[105]
Definition prime_table.c:58
#define set_not_prime(p, i)
#define set_prime(p, i)
uint64_t * lmmp_bitset_p
Definition prime_table.h:23
#define REALLOC_TYPE(p, new_size, type)
Definition tmp_alloc.h:175

引用了 ALLOC_TYPE, G, IDX, k, LMMP_BITSET_BITS, lmmp_prime_cnt16_(), n, prime_short_table, prime_table_size(), REALLOC_TYPE, s, set_not_prime, set_prime , 以及 wheel_mask.

被这些函数引用 lmmp_odd_2factorial_uint_(), lmmp_odd_factorial_uint_(), lmmp_odd_multinomial_uint_(), lmmp_odd_nCr_uint_(), lmmp_odd_nPr_uint_() , 以及 lmmp_primefac_().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ prime_table_size()

static uint prime_table_size ( uint  n)
inlinestatic

在文件 prime_table.c37 行定义.

37 {
38 uint bits = n / 2 + 1;
40 return bits + 1;
41}

引用了 LMMP_BITSET_BITS , 以及 n.

被这些函数引用 lmmp_prime_int_table_init_().

+ 这是这个函数的调用关系图:

变量说明

◆ global_prime_int_table

_Thread_local prime_int global_prime_int_table
static
初始值:
= {
.map = NULL,
.map_size = 0,
.max = 0
}

在文件 prime_table.c28 行定义.

28 {
29 .map = NULL,
30 .map_size = 0,
31 .max = 0
32};

◆ not_mask_64

const lmmp_bitset_t not_mask_64[(64)]
static
初始值:
= {
(lmmp_bitset_t)0xfffffffffffffffe, (lmmp_bitset_t)0xfffffffffffffffd, (lmmp_bitset_t)0xfffffffffffffffb,
(lmmp_bitset_t)0xfffffffffffffff7, (lmmp_bitset_t)0xffffffffffffffef, (lmmp_bitset_t)0xffffffffffffffdf,
(lmmp_bitset_t)0xffffffffffffffbf, (lmmp_bitset_t)0xffffffffffffff7f, (lmmp_bitset_t)0xfffffffffffffeff,
(lmmp_bitset_t)0xfffffffffffffdff, (lmmp_bitset_t)0xfffffffffffffbff, (lmmp_bitset_t)0xfffffffffffff7ff,
(lmmp_bitset_t)0xffffffffffffefff, (lmmp_bitset_t)0xffffffffffffdfff, (lmmp_bitset_t)0xffffffffffffbfff,
(lmmp_bitset_t)0xffffffffffff7fff, (lmmp_bitset_t)0xfffffffffffeffff, (lmmp_bitset_t)0xfffffffffffdffff,
(lmmp_bitset_t)0xfffffffffffbffff, (lmmp_bitset_t)0xfffffffffff7ffff, (lmmp_bitset_t)0xffffffffffefffff,
(lmmp_bitset_t)0xffffffffffdfffff, (lmmp_bitset_t)0xffffffffffbfffff, (lmmp_bitset_t)0xffffffffff7fffff,
(lmmp_bitset_t)0xfffffffffeffffff, (lmmp_bitset_t)0xfffffffffdffffff, (lmmp_bitset_t)0xfffffffffbffffff,
(lmmp_bitset_t)0xfffffffff7ffffff, (lmmp_bitset_t)0xffffffffefffffff, (lmmp_bitset_t)0xffffffffdfffffff,
(lmmp_bitset_t)0xffffffffbfffffff, (lmmp_bitset_t)0xffffffff7fffffff, (lmmp_bitset_t)0xfffffffeffffffff,
(lmmp_bitset_t)0xfffffffdffffffff, (lmmp_bitset_t)0xfffffffbffffffff, (lmmp_bitset_t)0xfffffff7ffffffff,
(lmmp_bitset_t)0xffffffefffffffff, (lmmp_bitset_t)0xffffffdfffffffff, (lmmp_bitset_t)0xffffffbfffffffff,
(lmmp_bitset_t)0xffffff7fffffffff, (lmmp_bitset_t)0xfffffeffffffffff, (lmmp_bitset_t)0xfffffdffffffffff,
(lmmp_bitset_t)0xfffffbffffffffff, (lmmp_bitset_t)0xfffff7ffffffffff, (lmmp_bitset_t)0xffffefffffffffff,
(lmmp_bitset_t)0xffffdfffffffffff, (lmmp_bitset_t)0xffffbfffffffffff, (lmmp_bitset_t)0xffff7fffffffffff,
(lmmp_bitset_t)0xfffeffffffffffff, (lmmp_bitset_t)0xfffdffffffffffff, (lmmp_bitset_t)0xfffbffffffffffff,
(lmmp_bitset_t)0xfff7ffffffffffff, (lmmp_bitset_t)0xffefffffffffffff, (lmmp_bitset_t)0xffdfffffffffffff,
(lmmp_bitset_t)0xffbfffffffffffff, (lmmp_bitset_t)0xff7fffffffffffff, (lmmp_bitset_t)0xfeffffffffffffff,
(lmmp_bitset_t)0xfdffffffffffffff, (lmmp_bitset_t)0xfbffffffffffffff, (lmmp_bitset_t)0xf7ffffffffffffff,
(lmmp_bitset_t)0xefffffffffffffff, (lmmp_bitset_t)0xdfffffffffffffff, (lmmp_bitset_t)0xbfffffffffffffff,
(lmmp_bitset_t)0x7fffffffffffffff}

在文件 prime_table.c95 行定义.

95 {
96 (lmmp_bitset_t)0xfffffffffffffffe, (lmmp_bitset_t)0xfffffffffffffffd, (lmmp_bitset_t)0xfffffffffffffffb,
97 (lmmp_bitset_t)0xfffffffffffffff7, (lmmp_bitset_t)0xffffffffffffffef, (lmmp_bitset_t)0xffffffffffffffdf,
98 (lmmp_bitset_t)0xffffffffffffffbf, (lmmp_bitset_t)0xffffffffffffff7f, (lmmp_bitset_t)0xfffffffffffffeff,
99 (lmmp_bitset_t)0xfffffffffffffdff, (lmmp_bitset_t)0xfffffffffffffbff, (lmmp_bitset_t)0xfffffffffffff7ff,
100 (lmmp_bitset_t)0xffffffffffffefff, (lmmp_bitset_t)0xffffffffffffdfff, (lmmp_bitset_t)0xffffffffffffbfff,
101 (lmmp_bitset_t)0xffffffffffff7fff, (lmmp_bitset_t)0xfffffffffffeffff, (lmmp_bitset_t)0xfffffffffffdffff,
102 (lmmp_bitset_t)0xfffffffffffbffff, (lmmp_bitset_t)0xfffffffffff7ffff, (lmmp_bitset_t)0xffffffffffefffff,
103 (lmmp_bitset_t)0xffffffffffdfffff, (lmmp_bitset_t)0xffffffffffbfffff, (lmmp_bitset_t)0xffffffffff7fffff,
104 (lmmp_bitset_t)0xfffffffffeffffff, (lmmp_bitset_t)0xfffffffffdffffff, (lmmp_bitset_t)0xfffffffffbffffff,
105 (lmmp_bitset_t)0xfffffffff7ffffff, (lmmp_bitset_t)0xffffffffefffffff, (lmmp_bitset_t)0xffffffffdfffffff,
106 (lmmp_bitset_t)0xffffffffbfffffff, (lmmp_bitset_t)0xffffffff7fffffff, (lmmp_bitset_t)0xfffffffeffffffff,
107 (lmmp_bitset_t)0xfffffffdffffffff, (lmmp_bitset_t)0xfffffffbffffffff, (lmmp_bitset_t)0xfffffff7ffffffff,
108 (lmmp_bitset_t)0xffffffefffffffff, (lmmp_bitset_t)0xffffffdfffffffff, (lmmp_bitset_t)0xffffffbfffffffff,
109 (lmmp_bitset_t)0xffffff7fffffffff, (lmmp_bitset_t)0xfffffeffffffffff, (lmmp_bitset_t)0xfffffdffffffffff,
110 (lmmp_bitset_t)0xfffffbffffffffff, (lmmp_bitset_t)0xfffff7ffffffffff, (lmmp_bitset_t)0xffffefffffffffff,
111 (lmmp_bitset_t)0xffffdfffffffffff, (lmmp_bitset_t)0xffffbfffffffffff, (lmmp_bitset_t)0xffff7fffffffffff,
112 (lmmp_bitset_t)0xfffeffffffffffff, (lmmp_bitset_t)0xfffdffffffffffff, (lmmp_bitset_t)0xfffbffffffffffff,
113 (lmmp_bitset_t)0xfff7ffffffffffff, (lmmp_bitset_t)0xffefffffffffffff, (lmmp_bitset_t)0xffdfffffffffffff,
114 (lmmp_bitset_t)0xffbfffffffffffff, (lmmp_bitset_t)0xff7fffffffffffff, (lmmp_bitset_t)0xfeffffffffffffff,
115 (lmmp_bitset_t)0xfdffffffffffffff, (lmmp_bitset_t)0xfbffffffffffffff, (lmmp_bitset_t)0xf7ffffffffffffff,
116 (lmmp_bitset_t)0xefffffffffffffff, (lmmp_bitset_t)0xdfffffffffffffff, (lmmp_bitset_t)0xbfffffffffffffff,
117 (lmmp_bitset_t)0x7fffffffffffffff};

◆ prime_short_table

const ushort prime_short_table[6542]

在文件 prime_table.c351 行定义.

351 {
352 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53,
353 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131,
354 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223,
355 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311,
356 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409,
357 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
358 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613,
359 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719,
360 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827,
361 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941,
362 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049,
363 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163,
364 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283,
365 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423,
366 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511,
367 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619,
368 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747,
369 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877,
370 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997, 1999, 2003,
371 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129,
372 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267,
373 2269, 2273, 2281, 2287, 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377,
374 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503,
375 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657,
376 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741,
377 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861,
378 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011,
379 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167,
380 3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301,
381 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413,
382 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541,
383 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659, 3671,
384 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797,
385 3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923,
386 3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057,
387 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211,
388 4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, 4327, 4337,
389 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481,
390 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621,
391 4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751,
392 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909,
393 4919, 4931, 4933, 4937, 4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011,
394 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167,
395 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, 5281, 5297, 5303, 5309,
396 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443,
397 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573,
398 5581, 5591, 5623, 5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711,
399 5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849,
400 5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007,
401 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133,
402 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269, 6271,
403 6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379,
404 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563,
405 6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701,
406 6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833,
407 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, 6949, 6959, 6961, 6967, 6971,
408 6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, 7109, 7121,
409 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253,
410 7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457,
411 7459, 7477, 7481, 7487, 7489, 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561,
412 7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691,
413 7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841, 7853,
414 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, 7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009,
415 8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, 8117, 8123, 8147, 8161,
416 8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291,
417 8293, 8297, 8311, 8317, 8329, 8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443,
418 8447, 8461, 8467, 8501, 8513, 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609,
419 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681, 8689, 8693, 8699, 8707, 8713, 8719, 8731,
420 8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831, 8837, 8839, 8849, 8861,
421 8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007, 9011,
422 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161,
423 9173, 9181, 9187, 9199, 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311,
424 9319, 9323, 9337, 9341, 9343, 9349, 9371, 9377, 9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433,
425 9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533, 9539, 9547, 9551, 9587,
426 9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719, 9721, 9733,
427 9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, 9817, 9829, 9833, 9839, 9851, 9857,
428 9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973, 10007, 10009, 10037,
429 10039, 10061, 10067, 10069, 10079, 10091, 10093, 10099, 10103, 10111, 10133, 10139, 10141, 10151, 10159, 10163,
430 10169, 10177, 10181, 10193, 10211, 10223, 10243, 10247, 10253, 10259, 10267, 10271, 10273, 10289, 10301, 10303,
431 10313, 10321, 10331, 10333, 10337, 10343, 10357, 10369, 10391, 10399, 10427, 10429, 10433, 10453, 10457, 10459,
432 10463, 10477, 10487, 10499, 10501, 10513, 10529, 10531, 10559, 10567, 10589, 10597, 10601, 10607, 10613, 10627,
433 10631, 10639, 10651, 10657, 10663, 10667, 10687, 10691, 10709, 10711, 10723, 10729, 10733, 10739, 10753, 10771,
434 10781, 10789, 10799, 10831, 10837, 10847, 10853, 10859, 10861, 10867, 10883, 10889, 10891, 10903, 10909, 10937,
435 10939, 10949, 10957, 10973, 10979, 10987, 10993, 11003, 11027, 11047, 11057, 11059, 11069, 11071, 11083, 11087,
436 11093, 11113, 11117, 11119, 11131, 11149, 11159, 11161, 11171, 11173, 11177, 11197, 11213, 11239, 11243, 11251,
437 11257, 11261, 11273, 11279, 11287, 11299, 11311, 11317, 11321, 11329, 11351, 11353, 11369, 11383, 11393, 11399,
438 11411, 11423, 11437, 11443, 11447, 11467, 11471, 11483, 11489, 11491, 11497, 11503, 11519, 11527, 11549, 11551,
439 11579, 11587, 11593, 11597, 11617, 11621, 11633, 11657, 11677, 11681, 11689, 11699, 11701, 11717, 11719, 11731,
440 11743, 11777, 11779, 11783, 11789, 11801, 11807, 11813, 11821, 11827, 11831, 11833, 11839, 11863, 11867, 11887,
441 11897, 11903, 11909, 11923, 11927, 11933, 11939, 11941, 11953, 11959, 11969, 11971, 11981, 11987, 12007, 12011,
442 12037, 12041, 12043, 12049, 12071, 12073, 12097, 12101, 12107, 12109, 12113, 12119, 12143, 12149, 12157, 12161,
443 12163, 12197, 12203, 12211, 12227, 12239, 12241, 12251, 12253, 12263, 12269, 12277, 12281, 12289, 12301, 12323,
444 12329, 12343, 12347, 12373, 12377, 12379, 12391, 12401, 12409, 12413, 12421, 12433, 12437, 12451, 12457, 12473,
445 12479, 12487, 12491, 12497, 12503, 12511, 12517, 12527, 12539, 12541, 12547, 12553, 12569, 12577, 12583, 12589,
446 12601, 12611, 12613, 12619, 12637, 12641, 12647, 12653, 12659, 12671, 12689, 12697, 12703, 12713, 12721, 12739,
447 12743, 12757, 12763, 12781, 12791, 12799, 12809, 12821, 12823, 12829, 12841, 12853, 12889, 12893, 12899, 12907,
448 12911, 12917, 12919, 12923, 12941, 12953, 12959, 12967, 12973, 12979, 12983, 13001, 13003, 13007, 13009, 13033,
449 13037, 13043, 13049, 13063, 13093, 13099, 13103, 13109, 13121, 13127, 13147, 13151, 13159, 13163, 13171, 13177,
450 13183, 13187, 13217, 13219, 13229, 13241, 13249, 13259, 13267, 13291, 13297, 13309, 13313, 13327, 13331, 13337,
451 13339, 13367, 13381, 13397, 13399, 13411, 13417, 13421, 13441, 13451, 13457, 13463, 13469, 13477, 13487, 13499,
452 13513, 13523, 13537, 13553, 13567, 13577, 13591, 13597, 13613, 13619, 13627, 13633, 13649, 13669, 13679, 13681,
453 13687, 13691, 13693, 13697, 13709, 13711, 13721, 13723, 13729, 13751, 13757, 13759, 13763, 13781, 13789, 13799,
454 13807, 13829, 13831, 13841, 13859, 13873, 13877, 13879, 13883, 13901, 13903, 13907, 13913, 13921, 13931, 13933,
455 13963, 13967, 13997, 13999, 14009, 14011, 14029, 14033, 14051, 14057, 14071, 14081, 14083, 14087, 14107, 14143,
456 14149, 14153, 14159, 14173, 14177, 14197, 14207, 14221, 14243, 14249, 14251, 14281, 14293, 14303, 14321, 14323,
457 14327, 14341, 14347, 14369, 14387, 14389, 14401, 14407, 14411, 14419, 14423, 14431, 14437, 14447, 14449, 14461,
458 14479, 14489, 14503, 14519, 14533, 14537, 14543, 14549, 14551, 14557, 14561, 14563, 14591, 14593, 14621, 14627,
459 14629, 14633, 14639, 14653, 14657, 14669, 14683, 14699, 14713, 14717, 14723, 14731, 14737, 14741, 14747, 14753,
460 14759, 14767, 14771, 14779, 14783, 14797, 14813, 14821, 14827, 14831, 14843, 14851, 14867, 14869, 14879, 14887,
461 14891, 14897, 14923, 14929, 14939, 14947, 14951, 14957, 14969, 14983, 15013, 15017, 15031, 15053, 15061, 15073,
462 15077, 15083, 15091, 15101, 15107, 15121, 15131, 15137, 15139, 15149, 15161, 15173, 15187, 15193, 15199, 15217,
463 15227, 15233, 15241, 15259, 15263, 15269, 15271, 15277, 15287, 15289, 15299, 15307, 15313, 15319, 15329, 15331,
464 15349, 15359, 15361, 15373, 15377, 15383, 15391, 15401, 15413, 15427, 15439, 15443, 15451, 15461, 15467, 15473,
465 15493, 15497, 15511, 15527, 15541, 15551, 15559, 15569, 15581, 15583, 15601, 15607, 15619, 15629, 15641, 15643,
466 15647, 15649, 15661, 15667, 15671, 15679, 15683, 15727, 15731, 15733, 15737, 15739, 15749, 15761, 15767, 15773,
467 15787, 15791, 15797, 15803, 15809, 15817, 15823, 15859, 15877, 15881, 15887, 15889, 15901, 15907, 15913, 15919,
468 15923, 15937, 15959, 15971, 15973, 15991, 16001, 16007, 16033, 16057, 16061, 16063, 16067, 16069, 16073, 16087,
469 16091, 16097, 16103, 16111, 16127, 16139, 16141, 16183, 16187, 16189, 16193, 16217, 16223, 16229, 16231, 16249,
470 16253, 16267, 16273, 16301, 16319, 16333, 16339, 16349, 16361, 16363, 16369, 16381, 16411, 16417, 16421, 16427,
471 16433, 16447, 16451, 16453, 16477, 16481, 16487, 16493, 16519, 16529, 16547, 16553, 16561, 16567, 16573, 16603,
472 16607, 16619, 16631, 16633, 16649, 16651, 16657, 16661, 16673, 16691, 16693, 16699, 16703, 16729, 16741, 16747,
473 16759, 16763, 16787, 16811, 16823, 16829, 16831, 16843, 16871, 16879, 16883, 16889, 16901, 16903, 16921, 16927,
474 16931, 16937, 16943, 16963, 16979, 16981, 16987, 16993, 17011, 17021, 17027, 17029, 17033, 17041, 17047, 17053,
475 17077, 17093, 17099, 17107, 17117, 17123, 17137, 17159, 17167, 17183, 17189, 17191, 17203, 17207, 17209, 17231,
476 17239, 17257, 17291, 17293, 17299, 17317, 17321, 17327, 17333, 17341, 17351, 17359, 17377, 17383, 17387, 17389,
477 17393, 17401, 17417, 17419, 17431, 17443, 17449, 17467, 17471, 17477, 17483, 17489, 17491, 17497, 17509, 17519,
478 17539, 17551, 17569, 17573, 17579, 17581, 17597, 17599, 17609, 17623, 17627, 17657, 17659, 17669, 17681, 17683,
479 17707, 17713, 17729, 17737, 17747, 17749, 17761, 17783, 17789, 17791, 17807, 17827, 17837, 17839, 17851, 17863,
480 17881, 17891, 17903, 17909, 17911, 17921, 17923, 17929, 17939, 17957, 17959, 17971, 17977, 17981, 17987, 17989,
481 18013, 18041, 18043, 18047, 18049, 18059, 18061, 18077, 18089, 18097, 18119, 18121, 18127, 18131, 18133, 18143,
482 18149, 18169, 18181, 18191, 18199, 18211, 18217, 18223, 18229, 18233, 18251, 18253, 18257, 18269, 18287, 18289,
483 18301, 18307, 18311, 18313, 18329, 18341, 18353, 18367, 18371, 18379, 18397, 18401, 18413, 18427, 18433, 18439,
484 18443, 18451, 18457, 18461, 18481, 18493, 18503, 18517, 18521, 18523, 18539, 18541, 18553, 18583, 18587, 18593,
485 18617, 18637, 18661, 18671, 18679, 18691, 18701, 18713, 18719, 18731, 18743, 18749, 18757, 18773, 18787, 18793,
486 18797, 18803, 18839, 18859, 18869, 18899, 18911, 18913, 18917, 18919, 18947, 18959, 18973, 18979, 19001, 19009,
487 19013, 19031, 19037, 19051, 19069, 19073, 19079, 19081, 19087, 19121, 19139, 19141, 19157, 19163, 19181, 19183,
488 19207, 19211, 19213, 19219, 19231, 19237, 19249, 19259, 19267, 19273, 19289, 19301, 19309, 19319, 19333, 19373,
489 19379, 19381, 19387, 19391, 19403, 19417, 19421, 19423, 19427, 19429, 19433, 19441, 19447, 19457, 19463, 19469,
490 19471, 19477, 19483, 19489, 19501, 19507, 19531, 19541, 19543, 19553, 19559, 19571, 19577, 19583, 19597, 19603,
491 19609, 19661, 19681, 19687, 19697, 19699, 19709, 19717, 19727, 19739, 19751, 19753, 19759, 19763, 19777, 19793,
492 19801, 19813, 19819, 19841, 19843, 19853, 19861, 19867, 19889, 19891, 19913, 19919, 19927, 19937, 19949, 19961,
493 19963, 19973, 19979, 19991, 19993, 19997, 20011, 20021, 20023, 20029, 20047, 20051, 20063, 20071, 20089, 20101,
494 20107, 20113, 20117, 20123, 20129, 20143, 20147, 20149, 20161, 20173, 20177, 20183, 20201, 20219, 20231, 20233,
495 20249, 20261, 20269, 20287, 20297, 20323, 20327, 20333, 20341, 20347, 20353, 20357, 20359, 20369, 20389, 20393,
496 20399, 20407, 20411, 20431, 20441, 20443, 20477, 20479, 20483, 20507, 20509, 20521, 20533, 20543, 20549, 20551,
497 20563, 20593, 20599, 20611, 20627, 20639, 20641, 20663, 20681, 20693, 20707, 20717, 20719, 20731, 20743, 20747,
498 20749, 20753, 20759, 20771, 20773, 20789, 20807, 20809, 20849, 20857, 20873, 20879, 20887, 20897, 20899, 20903,
499 20921, 20929, 20939, 20947, 20959, 20963, 20981, 20983, 21001, 21011, 21013, 21017, 21019, 21023, 21031, 21059,
500 21061, 21067, 21089, 21101, 21107, 21121, 21139, 21143, 21149, 21157, 21163, 21169, 21179, 21187, 21191, 21193,
501 21211, 21221, 21227, 21247, 21269, 21277, 21283, 21313, 21317, 21319, 21323, 21341, 21347, 21377, 21379, 21383,
502 21391, 21397, 21401, 21407, 21419, 21433, 21467, 21481, 21487, 21491, 21493, 21499, 21503, 21517, 21521, 21523,
503 21529, 21557, 21559, 21563, 21569, 21577, 21587, 21589, 21599, 21601, 21611, 21613, 21617, 21647, 21649, 21661,
504 21673, 21683, 21701, 21713, 21727, 21737, 21739, 21751, 21757, 21767, 21773, 21787, 21799, 21803, 21817, 21821,
505 21839, 21841, 21851, 21859, 21863, 21871, 21881, 21893, 21911, 21929, 21937, 21943, 21961, 21977, 21991, 21997,
506 22003, 22013, 22027, 22031, 22037, 22039, 22051, 22063, 22067, 22073, 22079, 22091, 22093, 22109, 22111, 22123,
507 22129, 22133, 22147, 22153, 22157, 22159, 22171, 22189, 22193, 22229, 22247, 22259, 22271, 22273, 22277, 22279,
508 22283, 22291, 22303, 22307, 22343, 22349, 22367, 22369, 22381, 22391, 22397, 22409, 22433, 22441, 22447, 22453,
509 22469, 22481, 22483, 22501, 22511, 22531, 22541, 22543, 22549, 22567, 22571, 22573, 22613, 22619, 22621, 22637,
510 22639, 22643, 22651, 22669, 22679, 22691, 22697, 22699, 22709, 22717, 22721, 22727, 22739, 22741, 22751, 22769,
511 22777, 22783, 22787, 22807, 22811, 22817, 22853, 22859, 22861, 22871, 22877, 22901, 22907, 22921, 22937, 22943,
512 22961, 22963, 22973, 22993, 23003, 23011, 23017, 23021, 23027, 23029, 23039, 23041, 23053, 23057, 23059, 23063,
513 23071, 23081, 23087, 23099, 23117, 23131, 23143, 23159, 23167, 23173, 23189, 23197, 23201, 23203, 23209, 23227,
514 23251, 23269, 23279, 23291, 23293, 23297, 23311, 23321, 23327, 23333, 23339, 23357, 23369, 23371, 23399, 23417,
515 23431, 23447, 23459, 23473, 23497, 23509, 23531, 23537, 23539, 23549, 23557, 23561, 23563, 23567, 23581, 23593,
516 23599, 23603, 23609, 23623, 23627, 23629, 23633, 23663, 23669, 23671, 23677, 23687, 23689, 23719, 23741, 23743,
517 23747, 23753, 23761, 23767, 23773, 23789, 23801, 23813, 23819, 23827, 23831, 23833, 23857, 23869, 23873, 23879,
518 23887, 23893, 23899, 23909, 23911, 23917, 23929, 23957, 23971, 23977, 23981, 23993, 24001, 24007, 24019, 24023,
519 24029, 24043, 24049, 24061, 24071, 24077, 24083, 24091, 24097, 24103, 24107, 24109, 24113, 24121, 24133, 24137,
520 24151, 24169, 24179, 24181, 24197, 24203, 24223, 24229, 24239, 24247, 24251, 24281, 24317, 24329, 24337, 24359,
521 24371, 24373, 24379, 24391, 24407, 24413, 24419, 24421, 24439, 24443, 24469, 24473, 24481, 24499, 24509, 24517,
522 24527, 24533, 24547, 24551, 24571, 24593, 24611, 24623, 24631, 24659, 24671, 24677, 24683, 24691, 24697, 24709,
523 24733, 24749, 24763, 24767, 24781, 24793, 24799, 24809, 24821, 24841, 24847, 24851, 24859, 24877, 24889, 24907,
524 24917, 24919, 24923, 24943, 24953, 24967, 24971, 24977, 24979, 24989, 25013, 25031, 25033, 25037, 25057, 25073,
525 25087, 25097, 25111, 25117, 25121, 25127, 25147, 25153, 25163, 25169, 25171, 25183, 25189, 25219, 25229, 25237,
526 25243, 25247, 25253, 25261, 25301, 25303, 25307, 25309, 25321, 25339, 25343, 25349, 25357, 25367, 25373, 25391,
527 25409, 25411, 25423, 25439, 25447, 25453, 25457, 25463, 25469, 25471, 25523, 25537, 25541, 25561, 25577, 25579,
528 25583, 25589, 25601, 25603, 25609, 25621, 25633, 25639, 25643, 25657, 25667, 25673, 25679, 25693, 25703, 25717,
529 25733, 25741, 25747, 25759, 25763, 25771, 25793, 25799, 25801, 25819, 25841, 25847, 25849, 25867, 25873, 25889,
530 25903, 25913, 25919, 25931, 25933, 25939, 25943, 25951, 25969, 25981, 25997, 25999, 26003, 26017, 26021, 26029,
531 26041, 26053, 26083, 26099, 26107, 26111, 26113, 26119, 26141, 26153, 26161, 26171, 26177, 26183, 26189, 26203,
532 26209, 26227, 26237, 26249, 26251, 26261, 26263, 26267, 26293, 26297, 26309, 26317, 26321, 26339, 26347, 26357,
533 26371, 26387, 26393, 26399, 26407, 26417, 26423, 26431, 26437, 26449, 26459, 26479, 26489, 26497, 26501, 26513,
534 26539, 26557, 26561, 26573, 26591, 26597, 26627, 26633, 26641, 26647, 26669, 26681, 26683, 26687, 26693, 26699,
535 26701, 26711, 26713, 26717, 26723, 26729, 26731, 26737, 26759, 26777, 26783, 26801, 26813, 26821, 26833, 26839,
536 26849, 26861, 26863, 26879, 26881, 26891, 26893, 26903, 26921, 26927, 26947, 26951, 26953, 26959, 26981, 26987,
537 26993, 27011, 27017, 27031, 27043, 27059, 27061, 27067, 27073, 27077, 27091, 27103, 27107, 27109, 27127, 27143,
538 27179, 27191, 27197, 27211, 27239, 27241, 27253, 27259, 27271, 27277, 27281, 27283, 27299, 27329, 27337, 27361,
539 27367, 27397, 27407, 27409, 27427, 27431, 27437, 27449, 27457, 27479, 27481, 27487, 27509, 27527, 27529, 27539,
540 27541, 27551, 27581, 27583, 27611, 27617, 27631, 27647, 27653, 27673, 27689, 27691, 27697, 27701, 27733, 27737,
541 27739, 27743, 27749, 27751, 27763, 27767, 27773, 27779, 27791, 27793, 27799, 27803, 27809, 27817, 27823, 27827,
542 27847, 27851, 27883, 27893, 27901, 27917, 27919, 27941, 27943, 27947, 27953, 27961, 27967, 27983, 27997, 28001,
543 28019, 28027, 28031, 28051, 28057, 28069, 28081, 28087, 28097, 28099, 28109, 28111, 28123, 28151, 28163, 28181,
544 28183, 28201, 28211, 28219, 28229, 28277, 28279, 28283, 28289, 28297, 28307, 28309, 28319, 28349, 28351, 28387,
545 28393, 28403, 28409, 28411, 28429, 28433, 28439, 28447, 28463, 28477, 28493, 28499, 28513, 28517, 28537, 28541,
546 28547, 28549, 28559, 28571, 28573, 28579, 28591, 28597, 28603, 28607, 28619, 28621, 28627, 28631, 28643, 28649,
547 28657, 28661, 28663, 28669, 28687, 28697, 28703, 28711, 28723, 28729, 28751, 28753, 28759, 28771, 28789, 28793,
548 28807, 28813, 28817, 28837, 28843, 28859, 28867, 28871, 28879, 28901, 28909, 28921, 28927, 28933, 28949, 28961,
549 28979, 29009, 29017, 29021, 29023, 29027, 29033, 29059, 29063, 29077, 29101, 29123, 29129, 29131, 29137, 29147,
550 29153, 29167, 29173, 29179, 29191, 29201, 29207, 29209, 29221, 29231, 29243, 29251, 29269, 29287, 29297, 29303,
551 29311, 29327, 29333, 29339, 29347, 29363, 29383, 29387, 29389, 29399, 29401, 29411, 29423, 29429, 29437, 29443,
552 29453, 29473, 29483, 29501, 29527, 29531, 29537, 29567, 29569, 29573, 29581, 29587, 29599, 29611, 29629, 29633,
553 29641, 29663, 29669, 29671, 29683, 29717, 29723, 29741, 29753, 29759, 29761, 29789, 29803, 29819, 29833, 29837,
554 29851, 29863, 29867, 29873, 29879, 29881, 29917, 29921, 29927, 29947, 29959, 29983, 29989, 30011, 30013, 30029,
555 30047, 30059, 30071, 30089, 30091, 30097, 30103, 30109, 30113, 30119, 30133, 30137, 30139, 30161, 30169, 30181,
556 30187, 30197, 30203, 30211, 30223, 30241, 30253, 30259, 30269, 30271, 30293, 30307, 30313, 30319, 30323, 30341,
557 30347, 30367, 30389, 30391, 30403, 30427, 30431, 30449, 30467, 30469, 30491, 30493, 30497, 30509, 30517, 30529,
558 30539, 30553, 30557, 30559, 30577, 30593, 30631, 30637, 30643, 30649, 30661, 30671, 30677, 30689, 30697, 30703,
559 30707, 30713, 30727, 30757, 30763, 30773, 30781, 30803, 30809, 30817, 30829, 30839, 30841, 30851, 30853, 30859,
560 30869, 30871, 30881, 30893, 30911, 30931, 30937, 30941, 30949, 30971, 30977, 30983, 31013, 31019, 31033, 31039,
561 31051, 31063, 31069, 31079, 31081, 31091, 31121, 31123, 31139, 31147, 31151, 31153, 31159, 31177, 31181, 31183,
562 31189, 31193, 31219, 31223, 31231, 31237, 31247, 31249, 31253, 31259, 31267, 31271, 31277, 31307, 31319, 31321,
563 31327, 31333, 31337, 31357, 31379, 31387, 31391, 31393, 31397, 31469, 31477, 31481, 31489, 31511, 31513, 31517,
564 31531, 31541, 31543, 31547, 31567, 31573, 31583, 31601, 31607, 31627, 31643, 31649, 31657, 31663, 31667, 31687,
565 31699, 31721, 31723, 31727, 31729, 31741, 31751, 31769, 31771, 31793, 31799, 31817, 31847, 31849, 31859, 31873,
566 31883, 31891, 31907, 31957, 31963, 31973, 31981, 31991, 32003, 32009, 32027, 32029, 32051, 32057, 32059, 32063,
567 32069, 32077, 32083, 32089, 32099, 32117, 32119, 32141, 32143, 32159, 32173, 32183, 32189, 32191, 32203, 32213,
568 32233, 32237, 32251, 32257, 32261, 32297, 32299, 32303, 32309, 32321, 32323, 32327, 32341, 32353, 32359, 32363,
569 32369, 32371, 32377, 32381, 32401, 32411, 32413, 32423, 32429, 32441, 32443, 32467, 32479, 32491, 32497, 32503,
570 32507, 32531, 32533, 32537, 32561, 32563, 32569, 32573, 32579, 32587, 32603, 32609, 32611, 32621, 32633, 32647,
571 32653, 32687, 32693, 32707, 32713, 32717, 32719, 32749, 32771, 32779, 32783, 32789, 32797, 32801, 32803, 32831,
572 32833, 32839, 32843, 32869, 32887, 32909, 32911, 32917, 32933, 32939, 32941, 32957, 32969, 32971, 32983, 32987,
573 32993, 32999, 33013, 33023, 33029, 33037, 33049, 33053, 33071, 33073, 33083, 33091, 33107, 33113, 33119, 33149,
574 33151, 33161, 33179, 33181, 33191, 33199, 33203, 33211, 33223, 33247, 33287, 33289, 33301, 33311, 33317, 33329,
575 33331, 33343, 33347, 33349, 33353, 33359, 33377, 33391, 33403, 33409, 33413, 33427, 33457, 33461, 33469, 33479,
576 33487, 33493, 33503, 33521, 33529, 33533, 33547, 33563, 33569, 33577, 33581, 33587, 33589, 33599, 33601, 33613,
577 33617, 33619, 33623, 33629, 33637, 33641, 33647, 33679, 33703, 33713, 33721, 33739, 33749, 33751, 33757, 33767,
578 33769, 33773, 33791, 33797, 33809, 33811, 33827, 33829, 33851, 33857, 33863, 33871, 33889, 33893, 33911, 33923,
579 33931, 33937, 33941, 33961, 33967, 33997, 34019, 34031, 34033, 34039, 34057, 34061, 34123, 34127, 34129, 34141,
580 34147, 34157, 34159, 34171, 34183, 34211, 34213, 34217, 34231, 34253, 34259, 34261, 34267, 34273, 34283, 34297,
581 34301, 34303, 34313, 34319, 34327, 34337, 34351, 34361, 34367, 34369, 34381, 34403, 34421, 34429, 34439, 34457,
582 34469, 34471, 34483, 34487, 34499, 34501, 34511, 34513, 34519, 34537, 34543, 34549, 34583, 34589, 34591, 34603,
583 34607, 34613, 34631, 34649, 34651, 34667, 34673, 34679, 34687, 34693, 34703, 34721, 34729, 34739, 34747, 34757,
584 34759, 34763, 34781, 34807, 34819, 34841, 34843, 34847, 34849, 34871, 34877, 34883, 34897, 34913, 34919, 34939,
585 34949, 34961, 34963, 34981, 35023, 35027, 35051, 35053, 35059, 35069, 35081, 35083, 35089, 35099, 35107, 35111,
586 35117, 35129, 35141, 35149, 35153, 35159, 35171, 35201, 35221, 35227, 35251, 35257, 35267, 35279, 35281, 35291,
587 35311, 35317, 35323, 35327, 35339, 35353, 35363, 35381, 35393, 35401, 35407, 35419, 35423, 35437, 35447, 35449,
588 35461, 35491, 35507, 35509, 35521, 35527, 35531, 35533, 35537, 35543, 35569, 35573, 35591, 35593, 35597, 35603,
589 35617, 35671, 35677, 35729, 35731, 35747, 35753, 35759, 35771, 35797, 35801, 35803, 35809, 35831, 35837, 35839,
590 35851, 35863, 35869, 35879, 35897, 35899, 35911, 35923, 35933, 35951, 35963, 35969, 35977, 35983, 35993, 35999,
591 36007, 36011, 36013, 36017, 36037, 36061, 36067, 36073, 36083, 36097, 36107, 36109, 36131, 36137, 36151, 36161,
592 36187, 36191, 36209, 36217, 36229, 36241, 36251, 36263, 36269, 36277, 36293, 36299, 36307, 36313, 36319, 36341,
593 36343, 36353, 36373, 36383, 36389, 36433, 36451, 36457, 36467, 36469, 36473, 36479, 36493, 36497, 36523, 36527,
594 36529, 36541, 36551, 36559, 36563, 36571, 36583, 36587, 36599, 36607, 36629, 36637, 36643, 36653, 36671, 36677,
595 36683, 36691, 36697, 36709, 36713, 36721, 36739, 36749, 36761, 36767, 36779, 36781, 36787, 36791, 36793, 36809,
596 36821, 36833, 36847, 36857, 36871, 36877, 36887, 36899, 36901, 36913, 36919, 36923, 36929, 36931, 36943, 36947,
597 36973, 36979, 36997, 37003, 37013, 37019, 37021, 37039, 37049, 37057, 37061, 37087, 37097, 37117, 37123, 37139,
598 37159, 37171, 37181, 37189, 37199, 37201, 37217, 37223, 37243, 37253, 37273, 37277, 37307, 37309, 37313, 37321,
599 37337, 37339, 37357, 37361, 37363, 37369, 37379, 37397, 37409, 37423, 37441, 37447, 37463, 37483, 37489, 37493,
600 37501, 37507, 37511, 37517, 37529, 37537, 37547, 37549, 37561, 37567, 37571, 37573, 37579, 37589, 37591, 37607,
601 37619, 37633, 37643, 37649, 37657, 37663, 37691, 37693, 37699, 37717, 37747, 37781, 37783, 37799, 37811, 37813,
602 37831, 37847, 37853, 37861, 37871, 37879, 37889, 37897, 37907, 37951, 37957, 37963, 37967, 37987, 37991, 37993,
603 37997, 38011, 38039, 38047, 38053, 38069, 38083, 38113, 38119, 38149, 38153, 38167, 38177, 38183, 38189, 38197,
604 38201, 38219, 38231, 38237, 38239, 38261, 38273, 38281, 38287, 38299, 38303, 38317, 38321, 38327, 38329, 38333,
605 38351, 38371, 38377, 38393, 38431, 38447, 38449, 38453, 38459, 38461, 38501, 38543, 38557, 38561, 38567, 38569,
606 38593, 38603, 38609, 38611, 38629, 38639, 38651, 38653, 38669, 38671, 38677, 38693, 38699, 38707, 38711, 38713,
607 38723, 38729, 38737, 38747, 38749, 38767, 38783, 38791, 38803, 38821, 38833, 38839, 38851, 38861, 38867, 38873,
608 38891, 38903, 38917, 38921, 38923, 38933, 38953, 38959, 38971, 38977, 38993, 39019, 39023, 39041, 39043, 39047,
609 39079, 39089, 39097, 39103, 39107, 39113, 39119, 39133, 39139, 39157, 39161, 39163, 39181, 39191, 39199, 39209,
610 39217, 39227, 39229, 39233, 39239, 39241, 39251, 39293, 39301, 39313, 39317, 39323, 39341, 39343, 39359, 39367,
611 39371, 39373, 39383, 39397, 39409, 39419, 39439, 39443, 39451, 39461, 39499, 39503, 39509, 39511, 39521, 39541,
612 39551, 39563, 39569, 39581, 39607, 39619, 39623, 39631, 39659, 39667, 39671, 39679, 39703, 39709, 39719, 39727,
613 39733, 39749, 39761, 39769, 39779, 39791, 39799, 39821, 39827, 39829, 39839, 39841, 39847, 39857, 39863, 39869,
614 39877, 39883, 39887, 39901, 39929, 39937, 39953, 39971, 39979, 39983, 39989, 40009, 40013, 40031, 40037, 40039,
615 40063, 40087, 40093, 40099, 40111, 40123, 40127, 40129, 40151, 40153, 40163, 40169, 40177, 40189, 40193, 40213,
616 40231, 40237, 40241, 40253, 40277, 40283, 40289, 40343, 40351, 40357, 40361, 40387, 40423, 40427, 40429, 40433,
617 40459, 40471, 40483, 40487, 40493, 40499, 40507, 40519, 40529, 40531, 40543, 40559, 40577, 40583, 40591, 40597,
618 40609, 40627, 40637, 40639, 40693, 40697, 40699, 40709, 40739, 40751, 40759, 40763, 40771, 40787, 40801, 40813,
619 40819, 40823, 40829, 40841, 40847, 40849, 40853, 40867, 40879, 40883, 40897, 40903, 40927, 40933, 40939, 40949,
620 40961, 40973, 40993, 41011, 41017, 41023, 41039, 41047, 41051, 41057, 41077, 41081, 41113, 41117, 41131, 41141,
621 41143, 41149, 41161, 41177, 41179, 41183, 41189, 41201, 41203, 41213, 41221, 41227, 41231, 41233, 41243, 41257,
622 41263, 41269, 41281, 41299, 41333, 41341, 41351, 41357, 41381, 41387, 41389, 41399, 41411, 41413, 41443, 41453,
623 41467, 41479, 41491, 41507, 41513, 41519, 41521, 41539, 41543, 41549, 41579, 41593, 41597, 41603, 41609, 41611,
624 41617, 41621, 41627, 41641, 41647, 41651, 41659, 41669, 41681, 41687, 41719, 41729, 41737, 41759, 41761, 41771,
625 41777, 41801, 41809, 41813, 41843, 41849, 41851, 41863, 41879, 41887, 41893, 41897, 41903, 41911, 41927, 41941,
626 41947, 41953, 41957, 41959, 41969, 41981, 41983, 41999, 42013, 42017, 42019, 42023, 42043, 42061, 42071, 42073,
627 42083, 42089, 42101, 42131, 42139, 42157, 42169, 42179, 42181, 42187, 42193, 42197, 42209, 42221, 42223, 42227,
628 42239, 42257, 42281, 42283, 42293, 42299, 42307, 42323, 42331, 42337, 42349, 42359, 42373, 42379, 42391, 42397,
629 42403, 42407, 42409, 42433, 42437, 42443, 42451, 42457, 42461, 42463, 42467, 42473, 42487, 42491, 42499, 42509,
630 42533, 42557, 42569, 42571, 42577, 42589, 42611, 42641, 42643, 42649, 42667, 42677, 42683, 42689, 42697, 42701,
631 42703, 42709, 42719, 42727, 42737, 42743, 42751, 42767, 42773, 42787, 42793, 42797, 42821, 42829, 42839, 42841,
632 42853, 42859, 42863, 42899, 42901, 42923, 42929, 42937, 42943, 42953, 42961, 42967, 42979, 42989, 43003, 43013,
633 43019, 43037, 43049, 43051, 43063, 43067, 43093, 43103, 43117, 43133, 43151, 43159, 43177, 43189, 43201, 43207,
634 43223, 43237, 43261, 43271, 43283, 43291, 43313, 43319, 43321, 43331, 43391, 43397, 43399, 43403, 43411, 43427,
635 43441, 43451, 43457, 43481, 43487, 43499, 43517, 43541, 43543, 43573, 43577, 43579, 43591, 43597, 43607, 43609,
636 43613, 43627, 43633, 43649, 43651, 43661, 43669, 43691, 43711, 43717, 43721, 43753, 43759, 43777, 43781, 43783,
637 43787, 43789, 43793, 43801, 43853, 43867, 43889, 43891, 43913, 43933, 43943, 43951, 43961, 43963, 43969, 43973,
638 43987, 43991, 43997, 44017, 44021, 44027, 44029, 44041, 44053, 44059, 44071, 44087, 44089, 44101, 44111, 44119,
639 44123, 44129, 44131, 44159, 44171, 44179, 44189, 44201, 44203, 44207, 44221, 44249, 44257, 44263, 44267, 44269,
640 44273, 44279, 44281, 44293, 44351, 44357, 44371, 44381, 44383, 44389, 44417, 44449, 44453, 44483, 44491, 44497,
641 44501, 44507, 44519, 44531, 44533, 44537, 44543, 44549, 44563, 44579, 44587, 44617, 44621, 44623, 44633, 44641,
642 44647, 44651, 44657, 44683, 44687, 44699, 44701, 44711, 44729, 44741, 44753, 44771, 44773, 44777, 44789, 44797,
643 44809, 44819, 44839, 44843, 44851, 44867, 44879, 44887, 44893, 44909, 44917, 44927, 44939, 44953, 44959, 44963,
644 44971, 44983, 44987, 45007, 45013, 45053, 45061, 45077, 45083, 45119, 45121, 45127, 45131, 45137, 45139, 45161,
645 45179, 45181, 45191, 45197, 45233, 45247, 45259, 45263, 45281, 45289, 45293, 45307, 45317, 45319, 45329, 45337,
646 45341, 45343, 45361, 45377, 45389, 45403, 45413, 45427, 45433, 45439, 45481, 45491, 45497, 45503, 45523, 45533,
647 45541, 45553, 45557, 45569, 45587, 45589, 45599, 45613, 45631, 45641, 45659, 45667, 45673, 45677, 45691, 45697,
648 45707, 45737, 45751, 45757, 45763, 45767, 45779, 45817, 45821, 45823, 45827, 45833, 45841, 45853, 45863, 45869,
649 45887, 45893, 45943, 45949, 45953, 45959, 45971, 45979, 45989, 46021, 46027, 46049, 46051, 46061, 46073, 46091,
650 46093, 46099, 46103, 46133, 46141, 46147, 46153, 46171, 46181, 46183, 46187, 46199, 46219, 46229, 46237, 46261,
651 46271, 46273, 46279, 46301, 46307, 46309, 46327, 46337, 46349, 46351, 46381, 46399, 46411, 46439, 46441, 46447,
652 46451, 46457, 46471, 46477, 46489, 46499, 46507, 46511, 46523, 46549, 46559, 46567, 46573, 46589, 46591, 46601,
653 46619, 46633, 46639, 46643, 46649, 46663, 46679, 46681, 46687, 46691, 46703, 46723, 46727, 46747, 46751, 46757,
654 46769, 46771, 46807, 46811, 46817, 46819, 46829, 46831, 46853, 46861, 46867, 46877, 46889, 46901, 46919, 46933,
655 46957, 46993, 46997, 47017, 47041, 47051, 47057, 47059, 47087, 47093, 47111, 47119, 47123, 47129, 47137, 47143,
656 47147, 47149, 47161, 47189, 47207, 47221, 47237, 47251, 47269, 47279, 47287, 47293, 47297, 47303, 47309, 47317,
657 47339, 47351, 47353, 47363, 47381, 47387, 47389, 47407, 47417, 47419, 47431, 47441, 47459, 47491, 47497, 47501,
658 47507, 47513, 47521, 47527, 47533, 47543, 47563, 47569, 47581, 47591, 47599, 47609, 47623, 47629, 47639, 47653,
659 47657, 47659, 47681, 47699, 47701, 47711, 47713, 47717, 47737, 47741, 47743, 47777, 47779, 47791, 47797, 47807,
660 47809, 47819, 47837, 47843, 47857, 47869, 47881, 47903, 47911, 47917, 47933, 47939, 47947, 47951, 47963, 47969,
661 47977, 47981, 48017, 48023, 48029, 48049, 48073, 48079, 48091, 48109, 48119, 48121, 48131, 48157, 48163, 48179,
662 48187, 48193, 48197, 48221, 48239, 48247, 48259, 48271, 48281, 48299, 48311, 48313, 48337, 48341, 48353, 48371,
663 48383, 48397, 48407, 48409, 48413, 48437, 48449, 48463, 48473, 48479, 48481, 48487, 48491, 48497, 48523, 48527,
664 48533, 48539, 48541, 48563, 48571, 48589, 48593, 48611, 48619, 48623, 48647, 48649, 48661, 48673, 48677, 48679,
665 48731, 48733, 48751, 48757, 48761, 48767, 48779, 48781, 48787, 48799, 48809, 48817, 48821, 48823, 48847, 48857,
666 48859, 48869, 48871, 48883, 48889, 48907, 48947, 48953, 48973, 48989, 48991, 49003, 49009, 49019, 49031, 49033,
667 49037, 49043, 49057, 49069, 49081, 49103, 49109, 49117, 49121, 49123, 49139, 49157, 49169, 49171, 49177, 49193,
668 49199, 49201, 49207, 49211, 49223, 49253, 49261, 49277, 49279, 49297, 49307, 49331, 49333, 49339, 49363, 49367,
669 49369, 49391, 49393, 49409, 49411, 49417, 49429, 49433, 49451, 49459, 49463, 49477, 49481, 49499, 49523, 49529,
670 49531, 49537, 49547, 49549, 49559, 49597, 49603, 49613, 49627, 49633, 49639, 49663, 49667, 49669, 49681, 49697,
671 49711, 49727, 49739, 49741, 49747, 49757, 49783, 49787, 49789, 49801, 49807, 49811, 49823, 49831, 49843, 49853,
672 49871, 49877, 49891, 49919, 49921, 49927, 49937, 49939, 49943, 49957, 49991, 49993, 49999, 50021, 50023, 50033,
673 50047, 50051, 50053, 50069, 50077, 50087, 50093, 50101, 50111, 50119, 50123, 50129, 50131, 50147, 50153, 50159,
674 50177, 50207, 50221, 50227, 50231, 50261, 50263, 50273, 50287, 50291, 50311, 50321, 50329, 50333, 50341, 50359,
675 50363, 50377, 50383, 50387, 50411, 50417, 50423, 50441, 50459, 50461, 50497, 50503, 50513, 50527, 50539, 50543,
676 50549, 50551, 50581, 50587, 50591, 50593, 50599, 50627, 50647, 50651, 50671, 50683, 50707, 50723, 50741, 50753,
677 50767, 50773, 50777, 50789, 50821, 50833, 50839, 50849, 50857, 50867, 50873, 50891, 50893, 50909, 50923, 50929,
678 50951, 50957, 50969, 50971, 50989, 50993, 51001, 51031, 51043, 51047, 51059, 51061, 51071, 51109, 51131, 51133,
679 51137, 51151, 51157, 51169, 51193, 51197, 51199, 51203, 51217, 51229, 51239, 51241, 51257, 51263, 51283, 51287,
680 51307, 51329, 51341, 51343, 51347, 51349, 51361, 51383, 51407, 51413, 51419, 51421, 51427, 51431, 51437, 51439,
681 51449, 51461, 51473, 51479, 51481, 51487, 51503, 51511, 51517, 51521, 51539, 51551, 51563, 51577, 51581, 51593,
682 51599, 51607, 51613, 51631, 51637, 51647, 51659, 51673, 51679, 51683, 51691, 51713, 51719, 51721, 51749, 51767,
683 51769, 51787, 51797, 51803, 51817, 51827, 51829, 51839, 51853, 51859, 51869, 51871, 51893, 51899, 51907, 51913,
684 51929, 51941, 51949, 51971, 51973, 51977, 51991, 52009, 52021, 52027, 52051, 52057, 52067, 52069, 52081, 52103,
685 52121, 52127, 52147, 52153, 52163, 52177, 52181, 52183, 52189, 52201, 52223, 52237, 52249, 52253, 52259, 52267,
686 52289, 52291, 52301, 52313, 52321, 52361, 52363, 52369, 52379, 52387, 52391, 52433, 52453, 52457, 52489, 52501,
687 52511, 52517, 52529, 52541, 52543, 52553, 52561, 52567, 52571, 52579, 52583, 52609, 52627, 52631, 52639, 52667,
688 52673, 52691, 52697, 52709, 52711, 52721, 52727, 52733, 52747, 52757, 52769, 52783, 52807, 52813, 52817, 52837,
689 52859, 52861, 52879, 52883, 52889, 52901, 52903, 52919, 52937, 52951, 52957, 52963, 52967, 52973, 52981, 52999,
690 53003, 53017, 53047, 53051, 53069, 53077, 53087, 53089, 53093, 53101, 53113, 53117, 53129, 53147, 53149, 53161,
691 53171, 53173, 53189, 53197, 53201, 53231, 53233, 53239, 53267, 53269, 53279, 53281, 53299, 53309, 53323, 53327,
692 53353, 53359, 53377, 53381, 53401, 53407, 53411, 53419, 53437, 53441, 53453, 53479, 53503, 53507, 53527, 53549,
693 53551, 53569, 53591, 53593, 53597, 53609, 53611, 53617, 53623, 53629, 53633, 53639, 53653, 53657, 53681, 53693,
694 53699, 53717, 53719, 53731, 53759, 53773, 53777, 53783, 53791, 53813, 53819, 53831, 53849, 53857, 53861, 53881,
695 53887, 53891, 53897, 53899, 53917, 53923, 53927, 53939, 53951, 53959, 53987, 53993, 54001, 54011, 54013, 54037,
696 54049, 54059, 54083, 54091, 54101, 54121, 54133, 54139, 54151, 54163, 54167, 54181, 54193, 54217, 54251, 54269,
697 54277, 54287, 54293, 54311, 54319, 54323, 54331, 54347, 54361, 54367, 54371, 54377, 54401, 54403, 54409, 54413,
698 54419, 54421, 54437, 54443, 54449, 54469, 54493, 54497, 54499, 54503, 54517, 54521, 54539, 54541, 54547, 54559,
699 54563, 54577, 54581, 54583, 54601, 54617, 54623, 54629, 54631, 54647, 54667, 54673, 54679, 54709, 54713, 54721,
700 54727, 54751, 54767, 54773, 54779, 54787, 54799, 54829, 54833, 54851, 54869, 54877, 54881, 54907, 54917, 54919,
701 54941, 54949, 54959, 54973, 54979, 54983, 55001, 55009, 55021, 55049, 55051, 55057, 55061, 55073, 55079, 55103,
702 55109, 55117, 55127, 55147, 55163, 55171, 55201, 55207, 55213, 55217, 55219, 55229, 55243, 55249, 55259, 55291,
703 55313, 55331, 55333, 55337, 55339, 55343, 55351, 55373, 55381, 55399, 55411, 55439, 55441, 55457, 55469, 55487,
704 55501, 55511, 55529, 55541, 55547, 55579, 55589, 55603, 55609, 55619, 55621, 55631, 55633, 55639, 55661, 55663,
705 55667, 55673, 55681, 55691, 55697, 55711, 55717, 55721, 55733, 55763, 55787, 55793, 55799, 55807, 55813, 55817,
706 55819, 55823, 55829, 55837, 55843, 55849, 55871, 55889, 55897, 55901, 55903, 55921, 55927, 55931, 55933, 55949,
707 55967, 55987, 55997, 56003, 56009, 56039, 56041, 56053, 56081, 56087, 56093, 56099, 56101, 56113, 56123, 56131,
708 56149, 56167, 56171, 56179, 56197, 56207, 56209, 56237, 56239, 56249, 56263, 56267, 56269, 56299, 56311, 56333,
709 56359, 56369, 56377, 56383, 56393, 56401, 56417, 56431, 56437, 56443, 56453, 56467, 56473, 56477, 56479, 56489,
710 56501, 56503, 56509, 56519, 56527, 56531, 56533, 56543, 56569, 56591, 56597, 56599, 56611, 56629, 56633, 56659,
711 56663, 56671, 56681, 56687, 56701, 56711, 56713, 56731, 56737, 56747, 56767, 56773, 56779, 56783, 56807, 56809,
712 56813, 56821, 56827, 56843, 56857, 56873, 56891, 56893, 56897, 56909, 56911, 56921, 56923, 56929, 56941, 56951,
713 56957, 56963, 56983, 56989, 56993, 56999, 57037, 57041, 57047, 57059, 57073, 57077, 57089, 57097, 57107, 57119,
714 57131, 57139, 57143, 57149, 57163, 57173, 57179, 57191, 57193, 57203, 57221, 57223, 57241, 57251, 57259, 57269,
715 57271, 57283, 57287, 57301, 57329, 57331, 57347, 57349, 57367, 57373, 57383, 57389, 57397, 57413, 57427, 57457,
716 57467, 57487, 57493, 57503, 57527, 57529, 57557, 57559, 57571, 57587, 57593, 57601, 57637, 57641, 57649, 57653,
717 57667, 57679, 57689, 57697, 57709, 57713, 57719, 57727, 57731, 57737, 57751, 57773, 57781, 57787, 57791, 57793,
718 57803, 57809, 57829, 57839, 57847, 57853, 57859, 57881, 57899, 57901, 57917, 57923, 57943, 57947, 57973, 57977,
719 57991, 58013, 58027, 58031, 58043, 58049, 58057, 58061, 58067, 58073, 58099, 58109, 58111, 58129, 58147, 58151,
720 58153, 58169, 58171, 58189, 58193, 58199, 58207, 58211, 58217, 58229, 58231, 58237, 58243, 58271, 58309, 58313,
721 58321, 58337, 58363, 58367, 58369, 58379, 58391, 58393, 58403, 58411, 58417, 58427, 58439, 58441, 58451, 58453,
722 58477, 58481, 58511, 58537, 58543, 58549, 58567, 58573, 58579, 58601, 58603, 58613, 58631, 58657, 58661, 58679,
723 58687, 58693, 58699, 58711, 58727, 58733, 58741, 58757, 58763, 58771, 58787, 58789, 58831, 58889, 58897, 58901,
724 58907, 58909, 58913, 58921, 58937, 58943, 58963, 58967, 58979, 58991, 58997, 59009, 59011, 59021, 59023, 59029,
725 59051, 59053, 59063, 59069, 59077, 59083, 59093, 59107, 59113, 59119, 59123, 59141, 59149, 59159, 59167, 59183,
726 59197, 59207, 59209, 59219, 59221, 59233, 59239, 59243, 59263, 59273, 59281, 59333, 59341, 59351, 59357, 59359,
727 59369, 59377, 59387, 59393, 59399, 59407, 59417, 59419, 59441, 59443, 59447, 59453, 59467, 59471, 59473, 59497,
728 59509, 59513, 59539, 59557, 59561, 59567, 59581, 59611, 59617, 59621, 59627, 59629, 59651, 59659, 59663, 59669,
729 59671, 59693, 59699, 59707, 59723, 59729, 59743, 59747, 59753, 59771, 59779, 59791, 59797, 59809, 59833, 59863,
730 59879, 59887, 59921, 59929, 59951, 59957, 59971, 59981, 59999, 60013, 60017, 60029, 60037, 60041, 60077, 60083,
731 60089, 60091, 60101, 60103, 60107, 60127, 60133, 60139, 60149, 60161, 60167, 60169, 60209, 60217, 60223, 60251,
732 60257, 60259, 60271, 60289, 60293, 60317, 60331, 60337, 60343, 60353, 60373, 60383, 60397, 60413, 60427, 60443,
733 60449, 60457, 60493, 60497, 60509, 60521, 60527, 60539, 60589, 60601, 60607, 60611, 60617, 60623, 60631, 60637,
734 60647, 60649, 60659, 60661, 60679, 60689, 60703, 60719, 60727, 60733, 60737, 60757, 60761, 60763, 60773, 60779,
735 60793, 60811, 60821, 60859, 60869, 60887, 60889, 60899, 60901, 60913, 60917, 60919, 60923, 60937, 60943, 60953,
736 60961, 61001, 61007, 61027, 61031, 61043, 61051, 61057, 61091, 61099, 61121, 61129, 61141, 61151, 61153, 61169,
737 61211, 61223, 61231, 61253, 61261, 61283, 61291, 61297, 61331, 61333, 61339, 61343, 61357, 61363, 61379, 61381,
738 61403, 61409, 61417, 61441, 61463, 61469, 61471, 61483, 61487, 61493, 61507, 61511, 61519, 61543, 61547, 61553,
739 61559, 61561, 61583, 61603, 61609, 61613, 61627, 61631, 61637, 61643, 61651, 61657, 61667, 61673, 61681, 61687,
740 61703, 61717, 61723, 61729, 61751, 61757, 61781, 61813, 61819, 61837, 61843, 61861, 61871, 61879, 61909, 61927,
741 61933, 61949, 61961, 61967, 61979, 61981, 61987, 61991, 62003, 62011, 62017, 62039, 62047, 62053, 62057, 62071,
742 62081, 62099, 62119, 62129, 62131, 62137, 62141, 62143, 62171, 62189, 62191, 62201, 62207, 62213, 62219, 62233,
743 62273, 62297, 62299, 62303, 62311, 62323, 62327, 62347, 62351, 62383, 62401, 62417, 62423, 62459, 62467, 62473,
744 62477, 62483, 62497, 62501, 62507, 62533, 62539, 62549, 62563, 62581, 62591, 62597, 62603, 62617, 62627, 62633,
745 62639, 62653, 62659, 62683, 62687, 62701, 62723, 62731, 62743, 62753, 62761, 62773, 62791, 62801, 62819, 62827,
746 62851, 62861, 62869, 62873, 62897, 62903, 62921, 62927, 62929, 62939, 62969, 62971, 62981, 62983, 62987, 62989,
747 63029, 63031, 63059, 63067, 63073, 63079, 63097, 63103, 63113, 63127, 63131, 63149, 63179, 63197, 63199, 63211,
748 63241, 63247, 63277, 63281, 63299, 63311, 63313, 63317, 63331, 63337, 63347, 63353, 63361, 63367, 63377, 63389,
749 63391, 63397, 63409, 63419, 63421, 63439, 63443, 63463, 63467, 63473, 63487, 63493, 63499, 63521, 63527, 63533,
750 63541, 63559, 63577, 63587, 63589, 63599, 63601, 63607, 63611, 63617, 63629, 63647, 63649, 63659, 63667, 63671,
751 63689, 63691, 63697, 63703, 63709, 63719, 63727, 63737, 63743, 63761, 63773, 63781, 63793, 63799, 63803, 63809,
752 63823, 63839, 63841, 63853, 63857, 63863, 63901, 63907, 63913, 63929, 63949, 63977, 63997, 64007, 64013, 64019,
753 64033, 64037, 64063, 64067, 64081, 64091, 64109, 64123, 64151, 64153, 64157, 64171, 64187, 64189, 64217, 64223,
754 64231, 64237, 64271, 64279, 64283, 64301, 64303, 64319, 64327, 64333, 64373, 64381, 64399, 64403, 64433, 64439,
755 64451, 64453, 64483, 64489, 64499, 64513, 64553, 64567, 64577, 64579, 64591, 64601, 64609, 64613, 64621, 64627,
756 64633, 64661, 64663, 64667, 64679, 64693, 64709, 64717, 64747, 64763, 64781, 64783, 64793, 64811, 64817, 64849,
757 64853, 64871, 64877, 64879, 64891, 64901, 64919, 64921, 64927, 64937, 64951, 64969, 64997, 65003, 65011, 65027,
758 65029, 65033, 65053, 65063, 65071, 65089, 65099, 65101, 65111, 65119, 65123, 65129, 65141, 65147, 65167, 65171,
759 65173, 65179, 65183, 65203, 65213, 65239, 65257, 65267, 65269, 65287, 65293, 65309, 65323, 65327, 65353, 65357,
760 65371, 65381, 65393, 65407, 65413, 65419, 65423, 65437, 65447, 65449, 65479, 65497, 65519, 65521};

被这些函数引用 lmmp_hyperfac_(), lmmp_is_prime_table_(), lmmp_next_prime_ulong_(), lmmp_odd_2factorial_ushort_(), lmmp_odd_multinomial_ushort_(), lmmp_odd_nCr_ushort_(), lmmp_odd_nPr_ushort_(), lmmp_prev_prime_ulong_(), lmmp_prime_cnt16_(), lmmp_prime_int_table_init_(), lmmp_primefac_(), lmmp_superfac_(), lmmp_trialdiv_() , 以及 lmmp_trialdiv_short_().

◆ r35711_mask_map

const lmmp_bitset_t r35711_mask_map[19]
初始值:
= {
(lmmp_bitset_t)(0x93cf359a5b74dee9), (lmmp_bitset_t)(0x6badd25dadb36966), (lmmp_bitset_t)(0x6ed3cd279e4bb4b6),
(lmmp_bitset_t)(0xb66d6cd35ba6bb59), (lmmp_bitset_t)(0xc976b2cde59a4f3c), (lmmp_bitset_t)(0x34de792dd2f9a6b7),
(lmmp_bitset_t)(0xb34d6e96ede59b4b), (lmmp_bitset_t)(0xcf3696793ef259ad), (lmmp_bitset_t)(0xf4b34b669add25fa),
(lmmp_bitset_t)(0xfa4bb5966d2cd2f9), (lmmp_bitset_t)(0x59a4f7c9e696cf35), (lmmp_bitset_t)(0x2d9a7b76976b2cdb),
(lmmp_bitset_t)(0xd659f4bb49e7b2cd), (lmmp_bitset_t)(0xcf259a7b34d6e93e), (lmmp_bitset_t)(0xadd65dacb36b66d3),
(lmmp_bitset_t)(0xd2dd279e4b3cb769), (lmmp_bitset_t)(0x696cdb5ba4bb5d66), (lmmp_bitset_t)(0x77b2eda59acf3c96),
(lmmp_bitset_t)(0x0000000000000001)}

在文件 prime_table.c338 行定义.

338 {
339 (lmmp_bitset_t)(0x93cf359a5b74dee9), (lmmp_bitset_t)(0x6badd25dadb36966), (lmmp_bitset_t)(0x6ed3cd279e4bb4b6),
340 (lmmp_bitset_t)(0xb66d6cd35ba6bb59), (lmmp_bitset_t)(0xc976b2cde59a4f3c), (lmmp_bitset_t)(0x34de792dd2f9a6b7),
341 (lmmp_bitset_t)(0xb34d6e96ede59b4b), (lmmp_bitset_t)(0xcf3696793ef259ad), (lmmp_bitset_t)(0xf4b34b669add25fa),
342 (lmmp_bitset_t)(0xfa4bb5966d2cd2f9), (lmmp_bitset_t)(0x59a4f7c9e696cf35), (lmmp_bitset_t)(0x2d9a7b76976b2cdb),
343 (lmmp_bitset_t)(0xd659f4bb49e7b2cd), (lmmp_bitset_t)(0xcf259a7b34d6e93e), (lmmp_bitset_t)(0xadd65dacb36b66d3),
344 (lmmp_bitset_t)(0xd2dd279e4b3cb769), (lmmp_bitset_t)(0x696cdb5ba4bb5d66), (lmmp_bitset_t)(0x77b2eda59acf3c96),
345 (lmmp_bitset_t)(0x0000000000000001)};

被这些函数引用 trial_div35711().

◆ wheel_mask

const lmmp_bitset_t wheel_mask[105]
static

在文件 prime_table.c58 行定义.

58 {
59 (lmmp_bitset_t)0x916d129a64b4cb61, (lmmp_bitset_t)0x48b6894d325a65b0, (lmmp_bitset_t)0xa45b44a6992d32d8,
60 (lmmp_bitset_t)0x522da2534c96996c, (lmmp_bitset_t)0x2916d129a64b4cb6, (lmmp_bitset_t)0x948b6894d325a65b,
61 (lmmp_bitset_t)0xca45b44a6992d32d, (lmmp_bitset_t)0x6522da2534c96996, (lmmp_bitset_t)0xb2916d129a64b4cb,
62 (lmmp_bitset_t)0x5948b6894d325a65, (lmmp_bitset_t)0x2ca45b44a6992d32, (lmmp_bitset_t)0x96522da2534c9699,
63 (lmmp_bitset_t)0xcb2916d129a64b4c, (lmmp_bitset_t)0x65948b6894d325a6, (lmmp_bitset_t)0x32ca45b44a6992d3,
64 (lmmp_bitset_t)0x996522da2534c969, (lmmp_bitset_t)0x4cb2916d129a64b4, (lmmp_bitset_t)0x265948b6894d325a,
65 (lmmp_bitset_t)0x932ca45b44a6992d, (lmmp_bitset_t)0x4996522da2534c96, (lmmp_bitset_t)0xa4cb2916d129a64b,
66 (lmmp_bitset_t)0xd265948b6894d325, (lmmp_bitset_t)0x6932ca45b44a6992, (lmmp_bitset_t)0xb4996522da2534c9,
67 (lmmp_bitset_t)0x5a4cb2916d129a64, (lmmp_bitset_t)0x2d265948b6894d32, (lmmp_bitset_t)0x96932ca45b44a699,
68 (lmmp_bitset_t)0xcb4996522da2534c, (lmmp_bitset_t)0x65a4cb2916d129a6, (lmmp_bitset_t)0x32d265948b6894d3,
69 (lmmp_bitset_t)0x996932ca45b44a69, (lmmp_bitset_t)0x4cb4996522da2534, (lmmp_bitset_t)0xa65a4cb2916d129a,
70 (lmmp_bitset_t)0xd32d265948b6894d, (lmmp_bitset_t)0x6996932ca45b44a6, (lmmp_bitset_t)0xb4cb4996522da253,
71 (lmmp_bitset_t)0xda65a4cb2916d129, (lmmp_bitset_t)0x6d32d265948b6894, (lmmp_bitset_t)0x36996932ca45b44a,
72 (lmmp_bitset_t)0x1b4cb4996522da25, (lmmp_bitset_t)0xda65a4cb2916d12, (lmmp_bitset_t)0x86d32d265948b689,
73 (lmmp_bitset_t)0xc36996932ca45b44, (lmmp_bitset_t)0x61b4cb4996522da2, (lmmp_bitset_t)0x30da65a4cb2916d1,
74 (lmmp_bitset_t)0x186d32d265948b68, (lmmp_bitset_t)0xc36996932ca45b4, (lmmp_bitset_t)0x861b4cb4996522da,
75 (lmmp_bitset_t)0xc30da65a4cb2916d, (lmmp_bitset_t)0x6186d32d265948b6, (lmmp_bitset_t)0xb0c36996932ca45b,
76 (lmmp_bitset_t)0xd861b4cb4996522d, (lmmp_bitset_t)0x6c30da65a4cb2916, (lmmp_bitset_t)0xb6186d32d265948b,
77 (lmmp_bitset_t)0x5b0c36996932ca45, (lmmp_bitset_t)0x2d861b4cb4996522, (lmmp_bitset_t)0x96c30da65a4cb291,
78 (lmmp_bitset_t)0xcb6186d32d265948, (lmmp_bitset_t)0x65b0c36996932ca4, (lmmp_bitset_t)0x32d861b4cb499652,
79 (lmmp_bitset_t)0x996c30da65a4cb29, (lmmp_bitset_t)0x4cb6186d32d26594, (lmmp_bitset_t)0xa65b0c36996932ca,
80 (lmmp_bitset_t)0xd32d861b4cb49965, (lmmp_bitset_t)0x6996c30da65a4cb2, (lmmp_bitset_t)0xb4cb6186d32d2659,
81 (lmmp_bitset_t)0x5a65b0c36996932c, (lmmp_bitset_t)0x2d32d861b4cb4996, (lmmp_bitset_t)0x96996c30da65a4cb,
82 (lmmp_bitset_t)0x4b4cb6186d32d265, (lmmp_bitset_t)0x25a65b0c36996932, (lmmp_bitset_t)0x92d32d861b4cb499,
83 (lmmp_bitset_t)0xc96996c30da65a4c, (lmmp_bitset_t)0x64b4cb6186d32d26, (lmmp_bitset_t)0x325a65b0c3699693,
84 (lmmp_bitset_t)0x992d32d861b4cb49, (lmmp_bitset_t)0x4c96996c30da65a4, (lmmp_bitset_t)0xa64b4cb6186d32d2,
85 (lmmp_bitset_t)0xd325a65b0c369969, (lmmp_bitset_t)0x6992d32d861b4cb4, (lmmp_bitset_t)0x34c96996c30da65a,
86 (lmmp_bitset_t)0x9a64b4cb6186d32d, (lmmp_bitset_t)0x4d325a65b0c36996, (lmmp_bitset_t)0xa6992d32d861b4cb,
87 (lmmp_bitset_t)0x534c96996c30da65, (lmmp_bitset_t)0x29a64b4cb6186d32, (lmmp_bitset_t)0x94d325a65b0c3699,
88 (lmmp_bitset_t)0x4a6992d32d861b4c, (lmmp_bitset_t)0x2534c96996c30da6, (lmmp_bitset_t)0x129a64b4cb6186d3,
89 (lmmp_bitset_t)0x894d325a65b0c369, (lmmp_bitset_t)0x44a6992d32d861b4, (lmmp_bitset_t)0xa2534c96996c30da,
90 (lmmp_bitset_t)0xd129a64b4cb6186d, (lmmp_bitset_t)0x6894d325a65b0c36, (lmmp_bitset_t)0xb44a6992d32d861b,
91 (lmmp_bitset_t)0xda2534c96996c30d, (lmmp_bitset_t)0x6d129a64b4cb6186, (lmmp_bitset_t)0xb6894d325a65b0c3,
92 (lmmp_bitset_t)0x5b44a6992d32d861, (lmmp_bitset_t)0x2da2534c96996c30, (lmmp_bitset_t)0x16d129a64b4cb618,
93 (lmmp_bitset_t)0x8b6894d325a65b0c, (lmmp_bitset_t)0x45b44a6992d32d86, (lmmp_bitset_t)0x22da2534c96996c3};

被这些函数引用 lmmp_prime_int_table_init_().