Coverage for moptipy / examples / bitstrings / labs.py: 87%

78 statements  

« prev     ^ index     » next       coverage.py v7.13.2, created at 2026-01-28 04:20 +0000

1""" 

2The Low Autocorrelation Binary Sequence problem. 

3 

4The `k`-step autocorrelations of a bit string `x` are defined as 

5 

6`C_k(x) = sum(i = 0, n - k - 1, 1 if x[i] == x[i + k] else -1)` 

7 

8The energy of the bit string, which is equivalent to the objective value of 

9this benchmark problem, is then: 

10 

11`E(x) = sum(k = 1, n - 1, C_k(x) ** 2)` 

12 

13The low-autocorrelation binary sequence (LABS) problem is to find a minimum 

14autocorrelated bit string is equivalent to minimizing `E`. We use the energy 

15directly as objective function. Others who define LABS as a maximization 

16problem try to maximize the merit factor `F` instead, which is equivalent to 

17minimizing the energy: 

18 

19`F(x) = n² / (n * E(X))` 

20 

21This problem is different from the other bit-string based problems, because we 

22only know the optimal solutions for few, smaller instances. For larger 

23instances, we only have lower bounds of the energy. 

24 

251. Carola Doerr and Furong Ye and Naama Horesh and Hao Wang and Ofer M. Shir 

26 and Thomas Bäck. Benchmarking Discrete Optimization Heuristics with 

27 IOHprofiler. Applied Soft Computing 88:106027, March 2020, 

28 doi: https://doi.org/10.1016/j.asoc.2019.106027. 

292. Tom Packebusch and Stephan Mertens. Low Autocorrelation Binary Sequences. 

30 arXiv:1512.02475v2 [cond-mat.stat-mech] 24 Mar 2016 

31 https://arxiv.org/pdf/1512.02475 

323. Burkhard Militzer, Michele Zamparelli, and Dieter Beule. Evolutionary 

33 Search for Low Autocorrelated Binary Sequences. IEEE Transactions on 

34 Evolutionary Computation. 2(1):34-39}. 1998. 

35 doi: https://doi.org/10.1109/4235.728212 

364. Wai Ho Mow and Ke-Lin Du. New Evolutionary Search for Long Low 

37 Autocorrelation Binary Sequences. IEEE Transactions on Aerospace and 

38 Electronic Systems. 51(1):290-303. January 2015. 

39 doi: https://doi.org/10.1109/TAES.2014.130518 

405. Borko Bošković, Franc Brglez, and Janez Brest. Low-Autocorrelation Binary 

41 Sequences: On Improved Merit Factors and Runtime Predictions to Achieve 

42 Them. arXiv:1406.5301v6 [cs.DS] 6 May 2017. See [6] below. 

43 https://arxiv.org/pdf/1406.5301 

446. Borko Bošković, Franc Brglez, and Janez Brest. Low-Autocorrelation Binary 

45 Sequences: On Improved Merit Factors and Runtime Predictions to Achieve 

46 Them. Applied Soft Computing. 56:262-285, July 2017. 

47 doi: https://doi.org/10.1016/j.asoc.2017.02.024 

487. Janez Brest and Borko Boskovic. A Heuristic Algorithm for a Low 

49 Autocorrelation Binary Sequence Problem With Odd Length and High Merit 

50 Factor. IEEE Access 6:4127-4134. 2018. 

51 https://doi.org/10.1109/ACCESS.2018.2789916, 

52 

53This is code is part of the research work of Mr. Jiazheng ZENG (曾嘉政), 

54a Master's student at the Institute of Applied Optimization 

55(应用优化研究所) of the School of Artificial 

56Intelligence and Big Data (人工智能与大数据学院) at 

57Hefei University (合肥大学) in 

58Hefei, Anhui, China (中国安徽省合肥市) under the supervision of 

59Prof. Dr. Thomas Weise (汤卫思教授). 

60 

61>>> from moptipy.spaces.bitstrings import BitStrings 

62 

63>>> def write_labs_values(x: np.ndarray): 

64... labs = LABS(len(x)) 

65... energy = labs.evaluate(x) 

66... nn = labs.n 

67... merit = energy_to_merit(nn, energy) 

68... print(f"n: {nn}, energy: {energy}, merit: {merit}") 

69 

70>>> def write_rle(s: str): 

71... splt = s.split(",") 

72... nn = sum(map(int, splt)) 

73... bs = BitStrings(nn) 

74... xx = bs.create() 

75... bs.from_rle_str(xx, f"T:{';'.join(splt)}") 

76... write_labs_values(xx) 

77 

78Let's check some results from the paper "A Heuristic Algorithm for a Low 

79Autocorrelation Binary Sequence Problem With Odd Length and High Merit Factor" 

80by Janez Brest and Borko Boskovic in IEEE Access 6:4127-4134. 2018: 

81 

82>>> write_rle("2,2,3,1,1,2,2,3,1,2,4,3,2,4,3,3,1,1,2,2,3,1,2,1,1,1,2,1,4,1,1," 

83... "1,3,3,1,4,6,7,1,1,1,1,1,1,3,1,8,1,1,1,1,1,2,1,1,1,1,2,1,1,3,1," 

84... "2,1,5,1,1,3,5,3,1,2,2,4,1,2,1,2,1,1,2,2,1,2,1,1,2,3,1,2,2,4,1," 

85... "2,2,1") # they get: energy=1903, merit=9.5851 

86n: 191, energy: 1903, merit: 9.585128744088282 

87 

88>>> write_rle("2,1,1,1,1,1,3,1,1,5,1,3,1,1,1,1,1,1,2,1,7,2,1,2,2,4,1,1,1,1,1," 

89... "2,1,1,2,1,2,4,2,1,3,2,1,2,3,1,2,2,1,2,1,2,2,1,1,2,3,4,3,1,2,1," 

90... "1,2,1,2,4,2,3,3,2,3,1,2,3,2,1,3,2,1,1,2,3,4,7,1,1,2,2,3,2,1,1," 

91... "1,1,1,3,8,1,3,1,1,1,4,1,7,1") # energy=2378, merit=9.5393 

92n: 213, energy: 2378, merit: 9.539318755256518 

93 

94>>> write_rle("6,3,6,2,6,2,7,4,1,8,1,4,2,3,8,4,1,3,3,2,1,3,2,3,2,2,1,1,3,4,1," 

95... "1,1,2,3,3,3,2,1,2,1,2,1,2,5,1,1,2,1,4,2,2,1,2,2,1,3,2,1,2,1,3," 

96... "1,1,2,1,1,1,1,1,1,2,1,2,2,1,1,3,1,1,1,1,1,1,3,1,1,2,1,1,1,1,1," 

97... "2,2,1,1,1,1,2,2,1,1,1,1,2,1,2,1,1,1,1,1") # merit=9.0144 

98n: 225, energy: 2808, merit: 9.014423076923077 

99 

100Let's test some solutions from Tom Packebusch and Stephan Mertens. "Low 

101Autocorrelation Binary Sequences." arXiv:1512.02475v2 [cond-mat.stat-mech] 

10224 Mar 2016. 

103 

104>>> write_rle("2,1,1,3,1,1,4,1,4,1") # energy=33, merit=5.470 

105n: 19, energy: 33, merit: 5.46969696969697 

106 

107>>> write_rle("2,1,1,2,1,1,1,2,1,1,2,2,2,11,2,2,2,1,1,1,1,1,1,1,1,1,2,2,2," 

108... "4,5,4,2") # energy=257, merit=8.475 

109n: 66, energy: 257, merit: 8.474708171206226 

110 

111>>> write_rle("3,1,2,1,6,1,4,1,2,1,2,2,1,2,3,4,1,1,1,2,1,1,1,1,3,1,4,1,1,1," 

112... "3,2,1,5,1,1,3,1,6,5,1,1,2,1,2," 

113... "3,2,3,3,1,1,3,1,1,1,1,3,3,1,1") # energy=835, merit=8.480 

114n: 119, energy: 835, merit: 8.479640718562875 

115 

116And now we check some from Stephan Mertens. Exhaustive search for 

117low-autocorrelation binary sequences. Journal of Physics A: 

118Mathematical and General. 29(18):L473. September 1996. 

119doi:10.1088/0305-4470/29/18/00 

120 

121>>> write_rle("8,2,1,2,1,1,2,1,2,3,4,3,2,1,1,1,1,1,1,1") # energy=99 

122n: 39, energy: 99, merit: 7.681818181818182 

123 

124>>> write_rle("3,1,1,1,1,1,1,8,3,2,1,4,3,2,1,2,2,2,1,1,2,1,1,2,1") # E=140 

125n: 48, energy: 140, merit: 8.228571428571428 

126 

127>>> def write_hex(ll: int, s: str): 

128... bs = BitStrings(ll) 

129... xx = bs.create() 

130... bs.from_hex_string(xx, s) 

131... write_labs_values(xx) 

132 

133Now let's check some results from the paper "New Evolutionary Search for Long 

134Low Autocorrelation Binary Sequences" by Wai Ho Mow and Ke-Lin Du which was 

135published in the IEEE Transactions on Aerospace and Electronic Systems 

13651(1):290-303. January 2015. https://doi.org/10.1109/TAES.2014.130518. 

137 

138>>> write_hex(236, "76B3EABB81A847C4DA6B6D204C68407E30" 

139... "5CC22FD9F148372B64587284C") # they get: merit=4.3418 

140n: 236, energy: 6414, merit: 4.3417524165887125 

141 

142>>> write_hex(300, 

143... "5AAAF7F284E43542CCFFD096BA42E7C784BA0BA6E9CC7DE4FC" 

144... "5E34433349D60837235C11164") # they get: merit=4.4074 

145n: 300, energy: 10210, merit: 4.407443682664055 

146 

147>>> write_hex(2000, 

148... "9300DC650BB35F244E59742D8848E894E9BC0CB6E07FE3700C1AA19DAB48DE771363" 

149... "D8F8D3CCB7FA78CE77054202A3DE0B087572813A1CB889437130C723FCFFD7E53BDF" 

150... "26CA3A73ADCBF889A612D32BA3AE9112F25E9817FC933E833A50D7EF85916D446F25" 

151... "526C767ECC52CA9E590D2DA7222A97C4FCCA1A64DFD474C018C3DAA150F2286B10EB" 

152... "12A031D07357D53866B24D6C2156109A40AED50D7F388ABF376CEC0D155125070F70" 

153... "C26DF3C76AD94F1531053E29DDD2A02B041C062263BD95698150CC8697DA03B20B2C" 

154... "6689097320BA14FBCD9425121CBC7AB6AFEFE38105571F9A740A03A7895BDE60645E" 

155... "96C607A11C35B0792F588740") # they get: merit=3.6193 

156n: 2000, energy: 552588, merit: 3.619333029309359 

157 

158>>> write_hex(4096, 

159... "E30A5D894A09A4CE0D11987EFC7E8DC88127C078FBD569A4AD05AB26D86A2D067C1E" 

160... "274783B891CBF64617E0906673F029AED144133B3FF48DF2DB8A18786780075E9C2B" 

161... "0CC46E6D0DA623CF1F50F1DF94177C28076F3CE44BC24C69D242E8D6F49F678E71C2" 

162... "D4D72C9412C828734AA39CA28EA2A7E5891B451ADA9B2408E666BA052C81509DE817" 

163... "897E4AF9FE4F504846D80D6B14CEEBDD9402A35C03AFD4EAE97B7ECB690094681EFD" 

164... "13837398ACECAA9AB5FC10682B00CA74BD15B5C0D7C53BAF35BF70612CB4DDE55EB4" 

165... "CF2F028596ED83823F5D1A73463B9953326AE6950CF1299AB6ACB432887A56E9F042" 

166... "957BAE604C003E982152DFEAFA75968C0D8B0FEAA2ED33FC20DE73FBA4E21F154CB2" 

167... "9129158F8BB5B9977C57B6F77A73634D9164A6FEA9647EAA1E1D63114B6BA1E9F065" 

168... "D66E5F5BF15B0D46EF9CED3216DB9DF0298E1CFBE0AF7596E9EB4BCBBBDA108A2B60" 

169... "88380B8D73797F9E9DB094FCC06FF0544F46E261FE4EF60AABCA0A32A5D1694B818B" 

170... "03A6D5351B28BAF523D1AE65D6048136003CFBA56CF22E0E1A2F2973C81637312722" 

171... "192558261DC2BEC886EBBBD73B5D1EFC29BB7E91F72964943D6D3560C3A8E20D11EC" 

172... "5A81C106E04D5F59218D9FD9D823B118AD4FB1D6C1435461E338D9F171B337E5DD73" 

173... "20CCD9CFE5DC651051E0F6678550BA09F9892E76D6E17C49ECD63F71B71FF351EEAF" 

174... "6DEB") # they get: merit=3.4589 

175n: 4096, energy: 2425236, merit: 3.458883176730017 

176 

177Now let's test the result included in report "On the Skew-Symmetric Binary 

178Sequences and the Merit Factor Problem" by Miroslav Dimitrov to be found at 

179arXiv:2106.03377v1 [cs.IT] 7 Jun 2021. https://arxiv.org/pdf/2106.03377. 

180 

181>>> write_hex(449, 

182... "96f633d86fe825794ed23a9dfd7d4c3abd080cf76cbf9bdab9a7b2533e3161901d19" 

183... "50c774ca8bd012cfd7d5d8123c4f97e285469d327478") # merit=6.5319 

184n: 449, energy: 15432, merit: 6.531914204250907 

185 

186 

187Let's test some results from the paper "Computational Search of Long 

188Skew-Symmetric Binary Sequences with High Merit Factors" by Janez Brest and 

189Borko Bošković in MENDEL - Soft Computing Journal 28(2):17-24. December 2022. 

190doi:10.13164/mendel.202k.k.017. 

191These results are skew-symmetric, so we need to expand them. 

192 

193>>> def write_skew(ll: int, s: str): 

194... bs = BitStrings(ll) 

195... xx = bs.create() 

196... bs.from_hex_string(xx, s) 

197... d = (ll + 1) // 2 

198... for ii in range(1, d): 

199... dmi = d - ii - 1 

200... dpi = d + ii - 1 

201... xx[dpi] = xx[dmi] ^ (ii & 1 != 0) 

202... write_labs_values(xx) 

203 

204>>> write_skew(201, # theirs: F=9.0993 

205... "00FC7C04C5DF914630C9E3AF60A741258CB26FB95DECEAD6D4A") 

206n: 201, energy: 2220, merit: 9.099324324324325 

207 

208>>> write_skew(303, # theirs: F=8.0718 

209... "14A29CEB1AEA5CA5A43D99B1250A3155FEF3433432EA80137D0713" 

210... "998B4787C87EF93EC9F7C1") 

211n: 303, energy: 5687, merit: 8.07183049059258 

212 

213And now we test some results from Borko Bošković, Franc Brglez, and Janez 

214Brest. A GitHub Archive for Solvers and Solutions of the LABS Problem. 

215https://github.com/borkob/git_labs. January 2016. 

216>>> def write_bits(s: str): 

217... ll = len(s.strip()) 

218... bs = BitStrings(ll) 

219... xx = bs.create() 

220... for ii, vv in enumerate(s): 

221... xx[ii] = int(vv) > 0 

222... write_labs_values(xx) 

223 

224>>> write_bits("00011000111111101010110110010") # merit: 6.7823, energy: 62 

225n: 29, energy: 62, merit: 6.782258064516129 

226 

227>>> write_bits("0000000000000111011110111001000110111001110011001111110011101" 

228... "0010111110011000000000110001110000001000000111101111110101101" 

229... "1000001011010011101101011111111001111001011110101111011110001" 

230... "1010010110110111000110101110111001111011110100010110010001000" 

231... "0011011011100011110000110110100010111110100001101001101010100" 

232... "0001110110000111101011000111110101000101101010001010110110110" 

233... "0101010100110010100001111011001010110011001001101110010001101" 

234... "1101000100101010101010") # merit: 6.5218, energy: 15456 

235n: 449, energy: 15456, merit: 6.521771480331263 

236 

237>>> write_bits("0010110010011001010101011010011010101011011011001100010101001" 

238... "1101001010000100100110010101011011000110010101111010110101001" 

239... "1011111100101110001010000110100001101000001001000011010100011" 

240... "0000001111101000000110010011100000000110011100010111110000100" 

241... "1111111011001100011100000000011000011111111" 

242... "1100110001100001") # merit: 7.2462, energy: 6335 

243n: 303, energy: 6335, merit: 7.2461720599842145 

244 

245Let's check one solution from 

246 

247>>> write_rle("1,1,1,1,1,1,1,9,1,3,4,2,2,2,2,4,3,1,1,2,3,3,1,2,2,1,3,4,1,1,2," 

248... "1,2,1,1,2,1,1,2") # energy=366, merit=8.1 

249n: 77, energy: 366, merit: 8.099726775956285 

250""" 

251from math import isfinite 

252from typing import Callable, Final, Iterator, cast 

253 

254import numba # type: ignore 

255import numpy as np 

256from pycommons.ds.sequences import merge_sorted_and_return_unique 

257from pycommons.math.int_math import try_int_div 

258from pycommons.types import check_int_range, type_error 

259 

260from moptipy.examples.bitstrings.bitstring_problem import ( 

261 BitStringProblem, 

262 default_scale_sequence, 

263) 

264 

265 

266@numba.njit(nogil=True, cache=True) 

267def labs(x: np.ndarray) -> int: 

268 """ 

269 Calculate the objective value of the LABS problem. 

270 

271 :param x: the flat numpy array representing the bitstring 

272 :return: the LABS objective 

273 

274 # N = 3, E = 1, FN = 4.50000 

275 >>> labs(np.array([0, 0, 1])) 

276 1 

277 

278 # N = 3, E = 1, FN = 4.50000 

279 >>> labs(np.array([1, 1, 0])) 

280 1 

281 

282 # N = 4, E = 2, FN = 4.00000 

283 >>> labs(np.array([0, 1, 0, 0])) 

284 2 

285 

286 # N = 4, E = 2, FN = 4.00000 

287 >>> labs(np.array([1, 0, 1, 1])) 

288 2 

289 

290 # N = 5, E = 2, FN = 6.25000 

291 >>> labs(np.array([0, 0, 0, 1, 0])) 

292 2 

293 

294 # N = 5, E = 2, FN = 6.25000 

295 >>> labs(np.array([1, 1, 1, 0, 1])) 

296 2 

297 

298 # N = 6, E = 7, FN = 2.57143 

299 >>> labs(np.array([0, 1, 1, 1, 1, 0])) 

300 7 

301 

302 # N = 6, E = 7, FN = 2.57143 

303 >>> labs(np.array([1, 0, 0, 0, 0, 1])) 

304 7 

305 

306 # N = 6, E = 7, FN = 2.57143 

307 >>> labs(np.array([0, 1, 1, 0, 0, 0])) 

308 7 

309 

310 # N = 6, E = 7, FN = 2.57143 

311 >>> labs(np.array([1, 0, 0, 1, 1, 1])) 

312 7 

313 

314 # N = 6, E = 7, FN = 2.57143 

315 >>> labs(np.array([0, 0, 0, 1, 0, 0])) 

316 7 

317 

318 # N = 6, E = 7, FN = 2.57143 

319 >>> labs(np.array([1, 1, 1, 0, 1, 1])) 

320 7 

321 

322 # N = 6, E = 7, FN = 2.57143 

323 >>> labs(np.array([0, 1, 0, 1, 1, 1])) 

324 7 

325 

326 # N = 6, E = 7, FN = 2.57143 

327 >>> labs(np.array([1, 0, 1, 0, 0, 0])) 

328 7 

329 

330 # N = 7, E = 3, FN = 8.16667 

331 >>> labs(np.array([0, 1, 0, 0, 1, 1, 1])) 

332 3 

333 

334 # N = 7, E = 3, FN = 8.16667 

335 >>> labs(np.array([1, 0, 1, 1, 0, 0, 0])) 

336 3 

337 

338 # N = 8, E = 8, FN = 4.00000 

339 >>> labs(np.array([0, 0, 0, 1, 1, 0, 1, 0])) 

340 8 

341 

342 # N = 8, E = 8, FN = 4.00000 

343 >>> labs(np.array([1, 1, 1, 0, 0, 1, 0, 1])) 

344 8 

345 

346 # N = 8, E = 8, FN = 4.00000 

347 >>> labs(np.array([0, 0, 0, 1, 0, 1, 1, 0])) 

348 8 

349 

350 # N = 8, E = 8, FN = 4.00000 

351 >>> labs(np.array([1, 1, 1, 0, 1, 0, 0, 1])) 

352 8 

353 

354 # N = 9, E = 12, FN = 3.37500 

355 >>> labs(np.array([0, 0, 0, 1, 0, 1, 0, 0, 1])) 

356 12 

357 

358 # N = 9, E = 12, FN = 3.37500 

359 >>> labs(np.array([1, 1, 1, 0, 1, 0, 1, 1, 0])) 

360 12 

361 

362 # N = 9, E = 12, FN = 3.37500 

363 >>> labs(np.array([0, 0, 0, 0, 1, 1, 0, 1, 0])) 

364 12 

365 

366 # N = 9, E = 12, FN = 3.37500 

367 >>> labs(np.array([1, 1, 1, 1, 0, 0, 1, 0, 1])) 

368 12 

369 

370 # N = 9, E = 12, FN = 3.37500 

371 >>> labs(np.array([0, 0, 0, 1, 1, 0, 0, 1, 0])) 

372 12 

373 

374 # N = 9, E = 12, FN = 3.37500 

375 >>> labs(np.array([1, 1, 1, 0, 0, 1, 1, 0, 1])) 

376 12 

377 

378 # N = 9, E = 12, FN = 3.37500 

379 >>> labs(np.array([0, 0, 0, 1, 0, 1, 1, 0, 0])) 

380 12 

381 

382 # N = 9, E = 12, FN = 3.37500 

383 >>> labs(np.array([1, 1, 1, 0, 1, 0, 0, 1, 1])) 

384 12 

385 

386 # N = 10, E = 13, FN = 3.84615 

387 >>> labs(np.array([0, 0, 0, 0, 1, 1, 0, 0, 1, 0])) 

388 13 

389 

390 # N = 10, E = 13, FN = 3.84615 

391 >>> labs(np.array([1, 1, 1, 1, 0, 0, 1, 1, 0, 1])) 

392 13 

393 

394 # N = 10, E = 13, FN = 3.84615 

395 >>> labs(np.array([0, 0, 0, 0, 0, 1, 1, 0, 1, 0])) 

396 13 

397 

398 # N = 10, E = 13, FN = 3.84615 

399 >>> labs(np.array([1, 1, 1, 1, 1, 0, 0, 1, 0, 1])) 

400 13 

401 

402 # N = 10, E = 13, FN = 3.84615 

403 >>> labs(np.array([0, 0, 0, 1, 0, 1, 0, 0, 1, 1])) 

404 13 

405 

406 # N = 10, E = 13, FN = 3.84615 

407 >>> labs(np.array([1, 1, 1, 0, 1, 0, 1, 1, 0, 0])) 

408 13 

409 

410 # N = 10, E = 13, FN = 3.84615 

411 >>> labs(np.array([0, 0, 0, 0, 1, 0, 1, 1, 0, 0])) 

412 13 

413 

414 # N = 10, E = 13, FN = 3.84615 

415 >>> labs(np.array([1, 1, 1, 1, 0, 1, 0, 0, 1, 1])) 

416 13 

417 

418 # N = 10, E = 13, FN = 3.84615 

419 >>> labs(np.array([0, 0, 0, 1, 1, 1, 0, 1, 1, 0])) 

420 13 

421 

422 # N = 10, E = 13, FN = 3.84615 

423 >>> labs(np.array([1, 1, 1, 0, 0, 0, 1, 0, 0, 1])) 

424 13 

425 

426 # N = 11, E = 5, FN = 12.10000 

427 >>> labs(np.array([0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1])) 

428 5 

429 

430 # N = 11, E = 5, FN = 12.10000 

431 >>> labs(np.array([1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0])) 

432 5 

433 

434 # N = 12, E = 10, FN = 7.20000 

435 >>> labs(np.array([0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0])) 

436 10 

437 

438 # N = 12, E = 10, FN = 7.20000 

439 >>> labs(np.array([1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1])) 

440 10 

441 

442 # N = 12, E = 10, FN = 7.20000 

443 >>> labs(np.array([0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0])) 

444 10 

445 

446 # N = 12, E = 10, FN = 7.20000 

447 >>> labs(np.array([1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1])) 

448 10 

449 

450 # N = 13, E = 6, FN = 14.08333 

451 >>> labs(np.array([0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0])) 

452 6 

453 

454 # N = 13, E = 6, FN = 14.08333 

455 >>> labs(np.array([1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1])) 

456 6 

457 

458 # N = 14, E = 19, FN = 5.15789 

459 >>> labs(np.array([0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1])) 

460 19 

461 

462 # N = 14, E = 19, FN = 5.15789 

463 >>> labs(np.array([1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0])) 

464 19 

465 

466 # N = 14, E = 19, FN = 5.15789 

467 >>> labs(np.array([0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0])) 

468 19 

469 

470 # N = 14, E = 19, FN = 5.15789 

471 >>> labs(np.array([1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1])) 

472 19 

473 

474 # N = 14, E = 19, FN = 5.15789 

475 >>> labs(np.array([0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0])) 

476 19 

477 

478 # N = 14, E = 19, FN = 5.15789 

479 >>> labs(np.array([1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1])) 

480 19 

481 

482 # N = 14, E = 19, FN = 5.15789 

483 >>> labs(np.array([0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1])) 

484 19 

485 

486 # N = 14, E = 19, FN = 5.15789 

487 >>> labs(np.array([1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0])) 

488 19 

489 

490 # N = 14, E = 19, FN = 5.15789 

491 >>> labs(np.array([0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1])) 

492 19 

493 

494 # N = 14, E = 19, FN = 5.15789 

495 >>> labs(np.array([1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0])) 

496 19 

497 

498 # N = 14, E = 19, FN = 5.15789 

499 >>> labs(np.array([0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1])) 

500 19 

501 

502 # N = 14, E = 19, FN = 5.15789 

503 >>> labs(np.array([1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0])) 

504 19 

505 

506 # N = 14, E = 19, FN = 5.15789 

507 >>> labs(np.array([0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0])) 

508 19 

509 

510 # N = 14, E = 19, FN = 5.15789 

511 >>> labs(np.array([1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1])) 

512 19 

513 

514 # N = 14, E = 19, FN = 5.15789 

515 >>> labs(np.array([0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0])) 

516 19 

517 

518 # N = 14, E = 19, FN = 5.15789 

519 >>> labs(np.array([1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1])) 

520 19 

521 

522 # N = 15, E = 15, FN = 7.50000 

523 >>> labs(np.array([0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1])) 

524 15 

525 

526 # N = 15, E = 15, FN = 7.50000 

527 >>> labs(np.array([1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0])) 

528 15 

529 

530 # N = 15, E = 15, FN = 7.50000 

531 >>> labs(np.array([0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1])) 

532 15 

533 

534 # N = 15, E = 15, FN = 7.50000 

535 >>> labs(np.array([1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0])) 

536 15 

537 

538 # N = 16, E = 24, FN = 5.33333 

539 >>> labs(np.array([0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0])) 

540 24 

541 

542 # N = 16, E = 24, FN = 5.33333 

543 >>> labs(np.array([1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1])) 

544 24 

545 

546 # N = 16, E = 24, FN = 5.33333 

547 >>> labs(np.array([0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0])) 

548 24 

549 

550 # N = 16, E = 24, FN = 5.33333 

551 >>> labs(np.array([1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1])) 

552 24 

553 

554 # N = 16, E = 24, FN = 5.33333 

555 >>> labs(np.array([0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0])) 

556 24 

557 

558 # N = 16, E = 24, FN = 5.33333 

559 >>> labs(np.array([1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1])) 

560 24 

561 

562 # N = 16, E = 24, FN = 5.33333 

563 >>> labs(np.array([0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0])) 

564 24 

565 

566 # N = 16, E = 24, FN = 5.33333 

567 >>> labs(np.array([1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1])) 

568 24 

569 

570 # N = 17, E = 32, FN = 4.51562 

571 >>> labs(np.array([0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0])) 

572 32 

573 

574 # N = 17, E = 32, FN = 4.51562 

575 >>> labs(np.array([1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1])) 

576 32 

577 

578 # N = 17, E = 32, FN = 4.51562 

579 >>> labs(np.array([0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1])) 

580 32 

581 

582 # N = 17, E = 32, FN = 4.51562 

583 >>> labs(np.array([1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0])) 

584 32 

585 

586 # N = 17, E = 32, FN = 4.51562 

587 >>> labs(np.array([0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1])) 

588 32 

589 

590 # N = 17, E = 32, FN = 4.51562 

591 >>> labs(np.array([1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0])) 

592 32 

593 

594 # N = 17, E = 32, FN = 4.51562 

595 >>> labs(np.array([0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1])) 

596 32 

597 

598 # N = 17, E = 32, FN = 4.51562 

599 >>> labs(np.array([1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0])) 

600 32 

601 

602 # N = 17, E = 32, FN = 4.51562 

603 >>> labs(np.array([0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1])) 

604 32 

605 

606 # N = 17, E = 32, FN = 4.51562 

607 >>> labs(np.array([1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0])) 

608 32 

609 

610 # N = 17, E = 32, FN = 4.51562 

611 >>> labs(np.array([0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1])) 

612 32 

613 

614 # N = 17, E = 32, FN = 4.51562 

615 >>> labs(np.array([1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0])) 

616 32 

617 

618 # N = 18, E = 25, FN = 6.48000 

619 >>> labs(np.array([0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0])) 

620 25 

621 

622 # N = 18, E = 25, FN = 6.48000 

623 >>> labs(np.array([1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1])) 

624 25 

625 

626 # N = 18, E = 25, FN = 6.48000 

627 >>> labs(np.array([0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0])) 

628 25 

629 

630 # N = 18, E = 25, FN = 6.48000 

631 >>> labs(np.array([1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1])) 

632 25 

633 

634 # N = 19, E = 29, FN = 6.22414 

635 >>> labs(np.array([0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 

636 ... 1])) 

637 29 

638 

639 # N = 19, E = 29, FN = 6.22414 

640 >>> labs(np.array([1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 

641 ... 0])) 

642 29 

643 

644 # N = 20, E = 26, FN = 7.69231 

645 >>> labs(np.array([0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 

646 ... 0, 1])) 

647 26 

648 

649 # N = 20, E = 26, FN = 7.69231 

650 >>> labs(np.array([1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 

651 ... 1, 0])) 

652 26 

653 

654 # N = 21, E = 26, FN = 8.48077 

655 >>> labs(np.array([0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 

656 ... 1, 1, 0])) 

657 26 

658 

659 # N = 21, E = 26, FN = 8.48077 

660 >>> labs(np.array([1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 

661 ... 0, 0, 1])) 

662 26 

663 

664 # N = 22, E = 39, FN = 6.20513 

665 >>> labs(np.array([0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 

666 ... 1, 0, 0, 0])) 

667 39 

668 

669 # N = 22, E = 39, FN = 6.20513 

670 >>> labs(np.array([1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 

671 ... 0, 1, 1, 1])) 

672 39 

673 

674 # N = 22, E = 39, FN = 6.20513 

675 >>> labs(np.array([0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 

676 ... 1, 1, 0, 1])) 

677 39 

678 

679 # N = 22, E = 39, FN = 6.20513 

680 >>> labs(np.array([1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 

681 ... 0, 0, 1, 0])) 

682 39 

683 

684 # N = 22, E = 39, FN = 6.20513 

685 >>> labs(np.array([0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 

686 ... 0, 0, 1, 1])) 

687 39 

688 

689 # N = 22, E = 39, FN = 6.20513 

690 >>> labs(np.array([1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 

691 ... 1, 1, 0, 0])) 

692 39 

693 

694 # N = 23, E = 47, FN = 5.62766 

695 >>> labs(np.array([0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 

696 ... 0, 0, 0, 1, 1])) 

697 47 

698 

699 # N = 23, E = 47, FN = 5.62766 

700 >>> labs(np.array([1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 

701 ... 1, 1, 1, 0, 0])) 

702 47 

703 

704 # N = 23, E = 47, FN = 5.62766 

705 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 

706 ... 1, 0, 0, 1, 0])) 

707 47 

708 

709 # N = 23, E = 47, FN = 5.62766 

710 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 

711 ... 0, 1, 1, 0, 1])) 

712 47 

713 

714 # N = 23, E = 47, FN = 5.62766 

715 >>> labs(np.array([0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 

716 ... 0, 0, 0, 1, 1])) 

717 47 

718 

719 # N = 23, E = 47, FN = 5.62766 

720 >>> labs(np.array([1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 

721 ... 1, 1, 1, 0, 0])) 

722 47 

723 

724 # N = 24, E = 36, FN = 8.00000 

725 >>> labs(np.array([0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 

726 ... 1, 1, 0, 1, 1, 0])) 

727 36 

728 

729 # N = 24, E = 36, FN = 8.00000 

730 >>> labs(np.array([1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 

731 ... 0, 0, 1, 0, 0, 1])) 

732 36 

733 

734 # N = 25, E = 36, FN = 8.68056 

735 >>> labs(np.array([0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 

736 ... 1, 0, 1, 1, 0, 0, 1])) 

737 36 

738 

739 # N = 25, E = 36, FN = 8.68056 

740 >>> labs(np.array([1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 

741 ... 0, 1, 0, 0, 1, 1, 0])) 

742 36 

743 

744 # N = 26, E = 45, FN = 7.51111 

745 >>> labs(np.array([0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 

746 ... 0, 1, 1, 1, 0, 0, 1, 1])) 

747 45 

748 

749 # N = 26, E = 45, FN = 7.51111 

750 >>> labs(np.array([1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 

751 ... 1, 0, 0, 0, 1, 1, 0, 0])) 

752 45 

753 

754 # N = 26, E = 45, FN = 7.51111 

755 >>> labs(np.array([0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 

756 ... 0, 1, 1, 0, 1, 1, 0, 1])) 

757 45 

758 

759 # N = 26, E = 45, FN = 7.51111 

760 >>> labs(np.array([1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 

761 ... 1, 0, 0, 1, 0, 0, 1, 0])) 

762 45 

763 

764 # N = 26, E = 45, FN = 7.51111 

765 >>> labs(np.array([0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 

766 ... 0, 1, 1, 0, 1, 1, 0, 1])) 

767 45 

768 

769 # N = 26, E = 45, FN = 7.51111 

770 >>> labs(np.array([1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 

771 ... 1, 0, 0, 1, 0, 0, 1, 0])) 

772 45 

773 

774 # N = 27, E = 37, FN = 9.85135 

775 >>> labs(np.array([0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 

776 ... 1, 0, 0, 1, 0, 1, 1, 0, 1])) 

777 37 

778 

779 # N = 27, E = 37, FN = 9.85135 

780 >>> labs(np.array([1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 

781 ... 0, 1, 1, 0, 1, 0, 0, 1, 0])) 

782 37 

783 

784 # N = 28, E = 50, FN = 7.84000 

785 >>> labs(np.array([0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 

786 ... 1, 0, 0, 1, 0, 1, 1, 0, 1, 1])) 

787 50 

788 

789 # N = 28, E = 50, FN = 7.84000 

790 >>> labs(np.array([1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 

791 ... 0, 1, 1, 0, 1, 0, 0, 1, 0, 0])) 

792 50 

793 

794 # N = 29, E = 62, FN = 6.78226 

795 >>> labs(np.array([0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 

796 ... 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0])) 

797 62 

798 

799 # N = 29, E = 62, FN = 6.78226 

800 >>> labs(np.array([1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 

801 ... 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1])) 

802 62 

803 

804 # N = 29, E = 62, FN = 6.78226 

805 >>> labs(np.array([0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 

806 ... 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0])) 

807 62 

808 

809 # N = 29, E = 62, FN = 6.78226 

810 >>> labs(np.array([1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 

811 ... 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1])) 

812 62 

813 

814 # N = 30, E = 59, FN = 7.62712 

815 >>> labs(np.array([0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 

816 ... 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0])) 

817 59 

818 

819 # N = 30, E = 59, FN = 7.62712 

820 >>> labs(np.array([1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 

821 ... 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1])) 

822 59 

823 

824 # N = 30, E = 59, FN = 7.62712 

825 >>> labs(np.array([0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 

826 ... 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0])) 

827 59 

828 

829 # N = 30, E = 59, FN = 7.62712 

830 >>> labs(np.array([1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 

831 ... 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1])) 

832 59 

833 

834 # N = 31, E = 67, FN = 7.17164 

835 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 

836 ... 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1])) 

837 67 

838 

839 # N = 31, E = 67, FN = 7.17164 

840 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 

841 ... 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0])) 

842 67 

843 

844 # N = 32, E = 64, FN = 8.00000 

845 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 

846 ... 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0])) 

847 64 

848 

849 # N = 32, E = 64, FN = 8.00000 

850 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 

851 ... 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1])) 

852 64 

853 

854 # N = 33, E = 64, FN = 8.50781 

855 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 

856 ... 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1])) 

857 64 

858 

859 # N = 33, E = 64, FN = 8.50781 

860 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 

861 ... 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0])) 

862 64 

863 

864 # N = 34, E = 65, FN = 8.89231 

865 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 

866 ... 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1])) 

867 65 

868 

869 # N = 34, E = 65, FN = 8.89231 

870 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 

871 ... 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0])) 

872 65 

873 

874 # N = 35, E = 73, FN = 8.39041 

875 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 

876 ... 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0])) 

877 73 

878 

879 # N = 35, E = 73, FN = 8.39041 

880 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 

881 ... 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1])) 

882 73 

883 

884 # N = 36, E = 82, FN = 7.90244 

885 >>> labs(np.array([0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 

886 ... 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0])) 

887 82 

888 

889 # N = 36, E = 82, FN = 7.90244 

890 >>> labs(np.array([1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 

891 ... 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1])) 

892 82 

893 

894 # N = 37, E = 86, FN = 7.95930 

895 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 

896 ... 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1])) 

897 86 

898 

899 # N = 37, E = 86, FN = 7.95930 

900 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 

901 ... 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0])) 

902 86 

903 

904 # N = 38, E = 87, FN = 8.29885 

905 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 

906 ... 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0])) 

907 87 

908 

909 # N = 38, E = 87, FN = 8.29885 

910 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 

911 ... 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1])) 

912 87 

913 

914 # N = 39, E = 99, FN = 7.68182 

915 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 

916 ... 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1])) 

917 99 

918 

919 # N = 39, E = 99, FN = 7.68182 

920 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 

921 ... 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0])) 

922 99 

923 

924 # N = 39, E = 99, FN = 7.68182 

925 >>> labs(np.array([0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 

926 ... 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1])) 

927 99 

928 

929 # N = 39, E = 99, FN = 7.68182 

930 >>> labs(np.array([1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 

931 ... 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0])) 

932 99 

933 

934 # N = 40, E = 108, FN = 7.40741 

935 >>> labs(np.array([0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 

936 ... 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 

937 ... 1])) 

938 108 

939 

940 # N = 40, E = 108, FN = 7.40741 

941 >>> labs(np.array([1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 

942 ... 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 

943 ... 0])) 

944 108 

945 

946 # N = 41, E = 108, FN = 7.78241 

947 >>> labs(np.array([0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 

948 ... 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 

949 ... 1, 0])) 

950 108 

951 

952 # N = 41, E = 108, FN = 7.78241 

953 >>> labs(np.array([1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 

954 ... 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 

955 ... 0, 1])) 

956 108 

957 

958 # N = 42, E = 101, FN = 8.73267 

959 >>> labs(np.array([0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 

960 ... 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 

961 ... 1, 0, 0])) 

962 101 

963 

964 # N = 42, E = 101, FN = 8.73267 

965 >>> labs(np.array([1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 

966 ... 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 

967 ... 0, 1, 1])) 

968 101 

969 

970 # N = 43, E = 109, FN = 8.48165 

971 >>> labs(np.array([0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 

972 ... 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 

973 ... 0, 1, 1, 1])) 

974 109 

975 

976 # N = 43, E = 109, FN = 8.48165 

977 >>> labs(np.array([1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 

978 ... 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 

979 ... 1, 0, 0, 0])) 

980 109 

981 

982 # N = 44, E = 122, FN = 7.93443 

983 >>> labs(np.array([0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 

984 ... 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 

985 ... 0, 1, 0, 0, 1])) 

986 122 

987 

988 # N = 44, E = 122, FN = 7.93443 

989 >>> labs(np.array([1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 

990 ... 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 

991 ... 1, 0, 1, 1, 0])) 

992 122 

993 

994 # N = 45, E = 118, FN = 8.58051 

995 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 

996 ... 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 

997 ... 1, 0, 1, 0, 1, 0])) 

998 118 

999 

1000 # N = 45, E = 118, FN = 8.58051 

1001 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 

1002 ... 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 

1003 ... 0, 1, 0, 1, 0, 1])) 

1004 118 

1005 

1006 # N = 46, E = 131, FN = 8.07634 

1007 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 

1008 ... 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 

1009 ... 1, 0, 1, 0, 1, 0, 1])) 

1010 131 

1011 

1012 # N = 46, E = 131, FN = 8.07634 

1013 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 

1014 ... 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 

1015 ... 0, 1, 0, 1, 0, 1, 0])) 

1016 131 

1017 

1018 # N = 46, E = 131, FN = 8.07634 

1019 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 

1020 ... 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 

1021 ... 1, 0, 1, 0, 1, 0, 1])) 

1022 131 

1023 

1024 # N = 46, E = 131, FN = 8.07634 

1025 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 

1026 ... 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 

1027 ... 0, 1, 0, 1, 0, 1, 0])) 

1028 131 

1029 

1030 # N = 46, E = 131, FN = 8.07634 

1031 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 

1032 ... 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 

1033 ... 0, 1, 1, 0, 1, 1, 0])) 

1034 131 

1035 

1036 # N = 46, E = 131, FN = 8.07634 

1037 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 

1038 ... 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 

1039 ... 1, 0, 0, 1, 0, 0, 1])) 

1040 131 

1041 

1042 # N = 47, E = 135, FN = 8.18148 

1043 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 

1044 ... 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 

1045 ... 0, 1, 0, 1, 0, 1, 0, 1])) 

1046 135 

1047 

1048 # N = 47, E = 135, FN = 8.18148 

1049 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 

1050 ... 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 

1051 ... 1, 0, 1, 0, 1, 0, 1, 0])) 

1052 135 

1053 

1054 # N = 47, E = 135, FN = 8.18148 

1055 >>> labs(np.array([0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 

1056 ... 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 

1057 ... 0, 1, 1, 0, 0, 1, 0, 1])) 

1058 135 

1059 

1060 # N = 47, E = 135, FN = 8.18148 

1061 >>> labs(np.array([1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 

1062 ... 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 

1063 ... 1, 0, 0, 1, 1, 0, 1, 0])) 

1064 135 

1065 

1066 # N = 47, E = 135, FN = 8.18148 

1067 >>> labs(np.array([0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 

1068 ... 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 

1069 ... 1, 1, 0, 0, 0, 0, 1, 1])) 

1070 135 

1071 

1072 # N = 47, E = 135, FN = 8.18148 

1073 >>> labs(np.array([1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 

1074 ... 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 

1075 ... 0, 0, 1, 1, 1, 1, 0, 0])) 

1076 135 

1077 

1078 # N = 47, E = 135, FN = 8.18148 

1079 >>> labs(np.array([0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 

1080 ... 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 

1081 ... 1, 0, 1, 0, 1, 1, 0, 1])) 

1082 135 

1083 

1084 # N = 47, E = 135, FN = 8.18148 

1085 >>> labs(np.array([1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 

1086 ... 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 

1087 ... 0, 1, 0, 1, 0, 0, 1, 0])) 

1088 135 

1089 

1090 # N = 47, E = 135, FN = 8.18148 

1091 >>> labs(np.array([0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 

1092 ... 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 

1093 ... 0, 1, 0, 0, 1, 0, 0, 1])) 

1094 135 

1095 

1096 # N = 47, E = 135, FN = 8.18148 

1097 >>> labs(np.array([1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 

1098 ... 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 

1099 ... 1, 0, 1, 1, 0, 1, 1, 0])) 

1100 135 

1101 

1102 # N = 47, E = 135, FN = 8.18148 

1103 >>> labs(np.array([0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 

1104 ... 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 

1105 ... 1, 0, 1, 1, 0, 0, 0, 1])) 

1106 135 

1107 

1108 # N = 47, E = 135, FN = 8.18148 

1109 >>> labs(np.array([1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 

1110 ... 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 

1111 ... 0, 1, 0, 0, 1, 1, 1, 0])) 

1112 135 

1113 

1114 # N = 48, E = 140, FN = 8.22857 

1115 >>> labs(np.array([0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 

1116 ... 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 

1117 ... 0, 1, 0, 0, 1, 0, 1, 1, 0])) 

1118 140 

1119 

1120 # N = 48, E = 140, FN = 8.22857 

1121 >>> labs(np.array([1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 

1122 ... 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 

1123 ... 1, 0, 1, 1, 0, 1, 0, 0, 1])) 

1124 140 

1125 

1126 # N = 49, E = 136, FN = 8.82721 

1127 >>> labs(np.array([0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 

1128 ... 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 

1129 ... 1, 1, 1, 0, 1, 0, 0, 0, 0, 1])) 

1130 136 

1131 

1132 # N = 49, E = 136, FN = 8.82721 

1133 >>> labs(np.array([1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 

1134 ... 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 

1135 ... 0, 0, 0, 1, 0, 1, 1, 1, 1, 0])) 

1136 136 

1137 

1138 # N = 49, E = 136, FN = 8.82721 

1139 >>> labs(np.array([0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 

1140 ... 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 

1141 ... 0, 0, 1, 0, 0, 1, 0, 0, 1, 0])) 

1142 136 

1143 

1144 # N = 49, E = 136, FN = 8.82721 

1145 >>> labs(np.array([1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 

1146 ... 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 

1147 ... 1, 1, 0, 1, 1, 0, 1, 1, 0, 1])) 

1148 136 

1149 

1150 # N = 50, E = 153, FN = 8.16993 

1151 >>> labs(np.array([0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 

1152 ... 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 

1153 ... 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1])) 

1154 153 

1155 

1156 # N = 50, E = 153, FN = 8.16993 

1157 >>> labs(np.array([1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 

1158 ... 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 

1159 ... 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0])) 

1160 153 

1161 

1162 # N = 50, E = 153, FN = 8.16993 

1163 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 

1164 ... 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 

1165 ... 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1])) 

1166 153 

1167 

1168 # N = 50, E = 153, FN = 8.16993 

1169 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 

1170 ... 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 

1171 ... 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0])) 

1172 153 

1173 

1174 # N = 50, E = 153, FN = 8.16993 

1175 >>> labs(np.array([0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 

1176 ... 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 

1177 ... 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0])) 

1178 153 

1179 

1180 # N = 50, E = 153, FN = 8.16993 

1181 >>> labs(np.array([1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 

1182 ... 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 

1183 ... 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1])) 

1184 153 

1185 

1186 # N = 51, E = 153, FN = 8.50000 

1187 >>> labs(np.array([0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 

1188 ... 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 

1189 ... 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1])) 

1190 153 

1191 

1192 # N = 51, E = 153, FN = 8.50000 

1193 >>> labs(np.array([1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 

1194 ... 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 

1195 ... 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0])) 

1196 153 

1197 

1198 # N = 52, E = 166, FN = 8.14458 

1199 >>> labs(np.array([0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 

1200 ... 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 

1201 ... 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1])) 

1202 166 

1203 

1204 # N = 52, E = 166, FN = 8.14458 

1205 >>> labs(np.array([1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 

1206 ... 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 

1207 ... 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0])) 

1208 166 

1209 

1210 # N = 53, E = 170, FN = 8.26176 

1211 >>> labs(np.array([0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 

1212 ... 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 

1213 ... 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1])) 

1214 170 

1215 

1216 # N = 53, E = 170, FN = 8.26176 

1217 >>> labs(np.array([1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 

1218 ... 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 

1219 ... 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0])) 

1220 170 

1221 

1222 # N = 53, E = 170, FN = 8.26176 

1223 >>> labs(np.array([0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 

1224 ... 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 

1225 ... 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0])) 

1226 170 

1227 

1228 # N = 53, E = 170, FN = 8.26176 

1229 >>> labs(np.array([1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 

1230 ... 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 

1231 ... 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1])) 

1232 170 

1233 

1234 # N = 54, E = 175, FN = 8.33143 

1235 >>> labs(np.array([0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 

1236 ... 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 

1237 ... 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0])) 

1238 175 

1239 

1240 # N = 54, E = 175, FN = 8.33143 

1241 >>> labs(np.array([1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 

1242 ... 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 

1243 ... 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1])) 

1244 175 

1245 

1246 # N = 55, E = 171, FN = 8.84503 

1247 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 

1248 ... 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 

1249 ... 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1])) 

1250 171 

1251 

1252 # N = 55, E = 171, FN = 8.84503 

1253 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 

1254 ... 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 

1255 ... 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0])) 

1256 171 

1257 

1258 # N = 55, E = 171, FN = 8.84503 

1259 >>> labs(np.array([0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 

1260 ... 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 

1261 ... 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1])) 

1262 171 

1263 

1264 # N = 55, E = 171, FN = 8.84503 

1265 >>> labs(np.array([1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 

1266 ... 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 

1267 ... 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0])) 

1268 171 

1269 

1270 # N = 56, E = 192, FN = 8.16667 

1271 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 

1272 ... 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 

1273 ... 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1])) 

1274 192 

1275 

1276 # N = 56, E = 192, FN = 8.16667 

1277 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 

1278 ... 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 

1279 ... 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0])) 

1280 192 

1281 

1282 # N = 57, E = 188, FN = 8.64096 

1283 >>> labs(np.array([0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 

1284 ... 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 

1285 ... 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0])) 

1286 188 

1287 

1288 # N = 57, E = 188, FN = 8.64096 

1289 >>> labs(np.array([1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 

1290 ... 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 

1291 ... 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1])) 

1292 188 

1293 

1294 # N = 58, E = 197, FN = 8.53807 

1295 >>> labs(np.array([0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 

1296 ... 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 

1297 ... 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1])) 

1298 197 

1299 

1300 # N = 58, E = 197, FN = 8.53807 

1301 >>> labs(np.array([1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 

1302 ... 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 

1303 ... 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0])) 

1304 197 

1305 

1306 # N = 59, E = 205, FN = 8.49024 

1307 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 

1308 ... 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 

1309 ... 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1])) 

1310 205 

1311 

1312 # N = 59, E = 205, FN = 8.49024 

1313 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 

1314 ... 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 

1315 ... 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0])) 

1316 205 

1317 

1318 # N = 59, E = 205, FN = 8.49024 

1319 >>> labs(np.array([0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 

1320 ... 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 

1321 ... 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0])) 

1322 205 

1323 

1324 # N = 59, E = 205, FN = 8.49024 

1325 >>> labs(np.array([1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 

1326 ... 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 

1327 ... 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1])) 

1328 205 

1329 

1330 # N = 60, E = 218, FN = 8.25688 

1331 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 

1332 ... 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 

1333 ... 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1])) 

1334 218 

1335 

1336 # N = 60, E = 218, FN = 8.25688 

1337 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 

1338 ... 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 

1339 ... 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0])) 

1340 218 

1341 

1342 # N = 60, E = 218, FN = 8.25688 

1343 >>> labs(np.array([0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 

1344 ... 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 

1345 ... 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1])) 

1346 218 

1347 

1348 # N = 60, E = 218, FN = 8.25688 

1349 >>> labs(np.array([1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 

1350 ... 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 

1351 ... 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0])) 

1352 218 

1353 

1354 # N = 61, E = 226, FN = 8.23230 

1355 >>> labs(np.array([0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 

1356 ... 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 

1357 ... 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 

1358 ... 1])) 

1359 226 

1360 

1361 # N = 61, E = 226, FN = 8.23230 

1362 >>> labs(np.array([1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 

1363 ... 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 

1364 ... 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 

1365 ... 0])) 

1366 226 

1367 

1368 # N = 62, E = 235, FN = 8.17872 

1369 >>> labs(np.array([0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 

1370 ... 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 

1371 ... 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 

1372 ... 1, 1])) 

1373 235 

1374 

1375 # N = 62, E = 235, FN = 8.17872 

1376 >>> labs(np.array([1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 

1377 ... 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 

1378 ... 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 

1379 ... 0, 0])) 

1380 235 

1381 

1382 # N = 62, E = 235, FN = 8.17872 

1383 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 

1384 ... 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 

1385 ... 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 

1386 ... 1, 1])) 

1387 235 

1388 

1389 # N = 62, E = 235, FN = 8.17872 

1390 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 

1391 ... 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 

1392 ... 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 

1393 ... 0, 0])) 

1394 235 

1395 

1396 # N = 63, E = 207, FN = 9.58696 

1397 >>> labs(np.array([0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 

1398 ... 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 

1399 ... 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 

1400 ... 1, 1, 0])) 

1401 207 

1402 

1403 # N = 63, E = 207, FN = 9.58696 

1404 >>> labs(np.array([1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 

1405 ... 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 

1406 ... 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 

1407 ... 0, 0, 1])) 

1408 207 

1409 

1410 # N = 64, E = 208, FN = 9.84615 

1411 >>> labs(np.array([0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 

1412 ... 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 

1413 ... 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 

1414 ... 1, 1, 0, 0])) 

1415 208 

1416 

1417 # N = 64, E = 208, FN = 9.84615 

1418 >>> labs(np.array([1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 

1419 ... 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 

1420 ... 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 

1421 ... 0, 0, 1, 1])) 

1422 208 

1423 

1424 # N = 65, E = 240, FN = 8.80208 

1425 >>> labs(np.array([0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 

1426 ... 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 

1427 ... 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 

1428 ... 0, 0, 1, 0, 0])) 

1429 240 

1430 

1431 # N = 65, E = 240, FN = 8.80208 

1432 >>> labs(np.array([1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 

1433 ... 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 

1434 ... 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 

1435 ... 1, 1, 0, 1, 1])) 

1436 240 

1437 

1438 # N = 66, E = 257, FN = 8.47471 

1439 >>> labs(np.array([0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 

1440 ... 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 

1441 ... 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 

1442 ... 1, 1, 1, 1, 0, 0])) 

1443 257 

1444 

1445 # N = 66, E = 257, FN = 8.47471 

1446 >>> labs(np.array([1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 

1447 ... 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 

1448 ... 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 

1449 ... 0, 0, 0, 0, 1, 1])) 

1450 257 

1451 

1452 # N = 3, all bits are True 

1453 >>> labs(np.array([1, 1, 1])) 

1454 5 

1455 

1456 # N = 4, all bits are True 

1457 >>> labs(np.array([1, 1, 1, 1])) 

1458 14 

1459 

1460 # N = 5, all bits are True 

1461 >>> labs(np.array([1, 1, 1, 1, 1])) 

1462 30 

1463 

1464 # N = 6, all bits are True 

1465 >>> labs(np.array([1, 1, 1, 1, 1, 1])) 

1466 55 

1467 

1468 # N = 7, all bits are True 

1469 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1])) 

1470 91 

1471 

1472 # N = 8, all bits are False 

1473 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0])) 

1474 140 

1475 

1476 # N = 9, all bits are False 

1477 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1478 204 

1479 

1480 # N = 10, all bits are True 

1481 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1482 285 

1483 

1484 # N = 11, all bits are True 

1485 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1486 385 

1487 

1488 # N = 12, all bits are True 

1489 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1490 506 

1491 

1492 # N = 13, all bits are False 

1493 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1494 650 

1495 

1496 # N = 14, all bits are False 

1497 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1498 819 

1499 

1500 # N = 15, all bits are False 

1501 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1502 1015 

1503 

1504 # N = 16, all bits are False 

1505 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1506 1240 

1507 

1508 # N = 17, all bits are True 

1509 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1510 1496 

1511 

1512 # N = 18, all bits are True 

1513 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1514 1785 

1515 

1516 # N = 19, all bits are False 

1517 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1518 ... 0])) 

1519 2109 

1520 

1521 # N = 20, all bits are False 

1522 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1523 ... 0, 0])) 

1524 2470 

1525 

1526 # N = 21, all bits are True 

1527 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1528 ... 1, 1, 1])) 

1529 2870 

1530 

1531 # N = 22, all bits are True 

1532 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1533 ... 1, 1, 1, 1])) 

1534 3311 

1535 

1536 # N = 23, all bits are True 

1537 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1538 ... 1, 1, 1, 1, 1])) 

1539 3795 

1540 

1541 # N = 24, all bits are False 

1542 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1543 ... 0, 0, 0, 0, 0, 0])) 

1544 4324 

1545 

1546 # N = 25, all bits are True 

1547 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1548 ... 1, 1, 1, 1, 1, 1, 1])) 

1549 4900 

1550 

1551 # N = 26, all bits are True 

1552 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1553 ... 1, 1, 1, 1, 1, 1, 1, 1])) 

1554 5525 

1555 

1556 # N = 27, all bits are True 

1557 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1558 ... 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1559 6201 

1560 

1561 # N = 28, all bits are True 

1562 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1563 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1564 6930 

1565 

1566 # N = 29, all bits are False 

1567 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1568 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1569 7714 

1570 

1571 # N = 30, all bits are False 

1572 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1573 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1574 8555 

1575 

1576 # N = 31, all bits are True 

1577 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1578 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1579 9455 

1580 

1581 # N = 32, all bits are False 

1582 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1583 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1584 10416 

1585 

1586 # N = 33, all bits are True 

1587 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1588 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1589 11440 

1590 

1591 # N = 34, all bits are False 

1592 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1593 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1594 12529 

1595 

1596 # N = 35, all bits are False 

1597 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1598 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1599 13685 

1600 

1601 # N = 36, all bits are True 

1602 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1603 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1604 14910 

1605 

1606 # N = 37, all bits are False 

1607 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1608 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1609 16206 

1610 

1611 # N = 38, all bits are True 

1612 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1613 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1614 17575 

1615 

1616 # N = 39, all bits are True 

1617 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1618 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1619 19019 

1620 

1621 # N = 40, all bits are False 

1622 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1623 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1624 ... 0])) 

1625 20540 

1626 

1627 # N = 41, all bits are False 

1628 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1629 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1630 ... 0, 0])) 

1631 22140 

1632 

1633 # N = 42, all bits are True 

1634 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1635 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1636 ... 1, 1, 1])) 

1637 23821 

1638 

1639 # N = 43, all bits are True 

1640 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1641 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1642 ... 1, 1, 1, 1])) 

1643 25585 

1644 

1645 # N = 44, all bits are False 

1646 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1647 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1648 ... 0, 0, 0, 0, 0])) 

1649 27434 

1650 

1651 # N = 45, all bits are False 

1652 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1653 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1654 ... 0, 0, 0, 0, 0, 0])) 

1655 29370 

1656 

1657 # N = 46, all bits are True 

1658 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1659 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1660 ... 1, 1, 1, 1, 1, 1, 1])) 

1661 31395 

1662 

1663 # N = 47, all bits are True 

1664 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1665 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1666 ... 1, 1, 1, 1, 1, 1, 1, 1])) 

1667 33511 

1668 

1669 # N = 48, all bits are True 

1670 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1671 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1672 ... 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1673 35720 

1674 

1675 # N = 49, all bits are False 

1676 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1677 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1678 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1679 38024 

1680 

1681 # N = 50, all bits are False 

1682 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1683 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1684 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1685 40425 

1686 

1687 # N = 51, all bits are True 

1688 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1689 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1690 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1691 42925 

1692 

1693 # N = 52, all bits are True 

1694 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1695 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1696 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1697 45526 

1698 

1699 # N = 53, all bits are True 

1700 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1701 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1702 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1703 48230 

1704 

1705 # N = 54, all bits are True 

1706 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1707 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1708 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1709 51039 

1710 

1711 # N = 55, all bits are True 

1712 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1713 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1714 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1715 53955 

1716 

1717 # N = 56, all bits are False 

1718 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1719 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1720 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1721 56980 

1722 

1723 # N = 57, all bits are False 

1724 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1725 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1726 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1727 60116 

1728 

1729 # N = 58, all bits are True 

1730 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1731 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1732 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1733 63365 

1734 

1735 # N = 59, all bits are True 

1736 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1737 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1738 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1739 66729 

1740 

1741 # N = 60, all bits are True 

1742 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1743 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1744 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1745 70210 

1746 

1747 # N = 61, all bits are False 

1748 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1749 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1750 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1751 ... 0])) 

1752 73810 

1753 

1754 # N = 62, all bits are True 

1755 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1756 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1757 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1758 ... 1, 1])) 

1759 77531 

1760 

1761 # N = 63, all bits are True 

1762 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1763 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1764 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1765 ... 1, 1, 1])) 

1766 81375 

1767 

1768 # N = 64, all bits are True 

1769 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1770 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1771 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1772 ... 1, 1, 1, 1])) 

1773 85344 

1774 

1775 # N = 65, all bits are True 

1776 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1777 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1778 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1779 ... 1, 1, 1, 1, 1])) 

1780 89440 

1781 

1782 # N = 66, all bits are True 

1783 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1784 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1785 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1786 ... 1, 1, 1, 1, 1, 1])) 

1787 93665 

1788 

1789 # N = 67, all bits are False 

1790 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1791 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1792 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1793 ... 0, 0, 0, 0, 0, 0, 0])) 

1794 98021 

1795 

1796 # N = 68, all bits are False 

1797 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1798 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1799 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1800 ... 0, 0, 0, 0, 0, 0, 0, 0])) 

1801 102510 

1802 

1803 # N = 69, all bits are False 

1804 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1805 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1806 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1807 ... 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1808 107134 

1809 

1810 # N = 70, all bits are False 

1811 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1812 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1813 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1814 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1815 111895 

1816 

1817 # N = 71, all bits are False 

1818 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1819 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1820 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1821 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1822 116795 

1823 

1824 # N = 72, all bits are False 

1825 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1826 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1827 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1828 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1829 121836 

1830 

1831 # N = 73, all bits are True 

1832 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1833 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1834 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1835 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1836 127020 

1837 

1838 # N = 74, all bits are False 

1839 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1840 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1841 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1842 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1843 132349 

1844 

1845 # N = 75, all bits are True 

1846 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1847 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1848 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1849 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1850 137825 

1851 

1852 # N = 76, all bits are True 

1853 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1854 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1855 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1856 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1857 143450 

1858 

1859 # N = 77, all bits are False 

1860 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1861 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1862 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1863 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1864 149226 

1865 

1866 # N = 78, all bits are False 

1867 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1868 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1869 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1870 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1871 155155 

1872 

1873 # N = 79, all bits are False 

1874 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1875 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1876 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1877 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1878 161239 

1879 

1880 # N = 80, all bits are False 

1881 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1882 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1883 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1884 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1885 167480 

1886 

1887 # N = 81, all bits are True 

1888 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1889 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1890 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1891 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1892 173880 

1893 

1894 # N = 82, all bits are False 

1895 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1896 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1897 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1898 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1899 ... 0])) 

1900 180441 

1901 

1902 # N = 83, all bits are False 

1903 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1904 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1905 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1906 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1907 ... 0, 0])) 

1908 187165 

1909 

1910 # N = 84, all bits are False 

1911 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1912 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1913 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1914 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1915 ... 0, 0, 0])) 

1916 194054 

1917 

1918 # N = 85, all bits are False 

1919 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1920 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1921 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1922 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1923 ... 0, 0, 0, 0])) 

1924 201110 

1925 

1926 # N = 86, all bits are True 

1927 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1928 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1929 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1930 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1931 ... 1, 1, 1, 1, 1])) 

1932 208335 

1933 

1934 # N = 87, all bits are False 

1935 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1936 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1937 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1938 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1939 ... 0, 0, 0, 0, 0, 0])) 

1940 215731 

1941 

1942 # N = 88, all bits are True 

1943 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1944 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1945 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1946 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1947 ... 1, 1, 1, 1, 1, 1, 1])) 

1948 223300 

1949 

1950 # N = 89, all bits are False 

1951 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1952 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1953 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1954 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1955 ... 0, 0, 0, 0, 0, 0, 0, 0])) 

1956 231044 

1957 

1958 # N = 90, all bits are False 

1959 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1960 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1961 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1962 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

1963 ... 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

1964 238965 

1965 

1966 # N = 91, all bits are True 

1967 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1968 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1969 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1970 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1971 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1972 247065 

1973 

1974 # N = 92, all bits are True 

1975 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1976 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1977 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1978 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1979 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1980 255346 

1981 

1982 # N = 93, all bits are True 

1983 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1984 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1985 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1986 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1987 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1988 263810 

1989 

1990 # N = 94, all bits are True 

1991 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1992 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1993 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1994 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

1995 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

1996 272459 

1997 

1998 # N = 95, all bits are True 

1999 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

2000 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

2001 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

2002 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

2003 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

2004 281295 

2005 

2006 # N = 96, all bits are False 

2007 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

2008 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

2009 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

2010 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

2011 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

2012 290320 

2013 

2014 # N = 97, all bits are False 

2015 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

2016 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

2017 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

2018 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

2019 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

2020 299536 

2021 

2022 # N = 98, all bits are False 

2023 >>> labs(np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

2024 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

2025 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

2026 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 

2027 ... 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])) 

2028 308945 

2029 

2030 # N = 99, all bits are True 

2031 >>> labs(np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

2032 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

2033 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

2034 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 

2035 ... 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])) 

2036 318549 

2037 """ 

2038 n: Final[int] = len(x) # Get the length of the bit string. 

2039 result: int = 0 

2040 for k in range(1, n): 

2041 sqr: int = 0 

2042 for i in range(n - k): 

2043 sqr += 1 if x[i] == x[i + k] else -1 

2044 result += sqr * sqr 

2045 return result 

2046 

2047 

2048def energy_to_merit(n: int, energy: int) -> int | float: 

2049 """ 

2050 Convert an energy value to a merit factor. 

2051 

2052 :param n: the length of the bit sequence 

2053 :param energy: the integer energy factor, computed based on :func:`labs`. 

2054 :returns: a merit factor 

2055 

2056 >>> try: 

2057 ... energy_to_merit(0, 1) 

2058 ... except ValueError as ve: 

2059 ... print(ve) 

2060 n=0 is invalid, must be in 3..1000000000. 

2061 

2062 >>> try: 

2063 ... energy_to_merit(4, 0) 

2064 ... except ValueError as ve: 

2065 ... print(ve) 

2066 energy=0 is invalid, must be in 1..1000000000. 

2067 

2068 >>> energy_to_merit(3, 1) 

2069 4.5 

2070 >>> energy_to_merit(4, 2) 

2071 4 

2072 >>> energy_to_merit(5, 2) 

2073 6.25 

2074 >>> print(f"{energy_to_merit(6, 7):.4}") 

2075 2.571 

2076 >>> print(f"{energy_to_merit(7, 3):.4}") 

2077 8.167 

2078 >>> energy_to_merit(8, 8) 

2079 4 

2080 >>> print(f"{energy_to_merit(9, 12):.4}") 

2081 3.375 

2082 >>> print(f"{energy_to_merit(10, 13):.4}") 

2083 3.846 

2084 >>> print(f"{energy_to_merit(11, 5):.4}") 

2085 12.1 

2086 >>> print(f"{energy_to_merit(12, 10):.4}") 

2087 7.2 

2088 >>> print(f"{energy_to_merit(13, 6):.5}") 

2089 14.083 

2090 >>> print(f"{energy_to_merit(14, 19):.4}") 

2091 5.158 

2092 >>> print(f"{energy_to_merit(15, 15):.4}") 

2093 7.5 

2094 >>> print(f"{energy_to_merit(16, 24):.4}") 

2095 5.333 

2096 >>> print(f"{energy_to_merit(17, 32):.4}") 

2097 4.516 

2098 >>> print(f"{energy_to_merit(18, 25):.4}") 

2099 6.48 

2100 >>> print(f"{energy_to_merit(47, 135):.4}") 

2101 8.181 

2102 >>> print(f"{energy_to_merit(66, 257):.4}") 

2103 8.475 

2104 >>> print(f"{energy_to_merit(19, 33):.4}") 

2105 5.47 

2106 >>> print(f"{energy_to_merit(119, 835):.4}") 

2107 8.48 

2108 >>> print(f"{energy_to_merit(401, 11888):.5}") 

2109 6.7632 

2110 """ 

2111 n = check_int_range(n, "n", 3) 

2112 energy = check_int_range(energy, "energy", 1) 

2113 return try_int_div(n * n, energy + energy) 

2114 

2115 

2116def merit_to_energy(n: int, merit: int | float) -> int: 

2117 """ 

2118 Convert a merit factor back to an energy. 

2119 

2120 :param n: the energy 

2121 :param merit: the merit factor 

2122 :returns: the energy 

2123 

2124 >>> try: 

2125 ... merit_to_energy(0, 1) 

2126 ... except ValueError as ve: 

2127 ... print(ve) 

2128 n=0 is invalid, must be in 3..1000000000. 

2129 

2130 >>> try: 

2131 ... merit_to_energy(3, 0) 

2132 ... except ValueError as ve: 

2133 ... print(ve) 

2134 merit factor cannot be 0. 

2135 

2136 >>> try: 

2137 ... merit_to_energy(3, "x") 

2138 ... except TypeError as te: 

2139 ... print(str(te)[:50]) 

2140 merit should be an instance of any in {float, int} 

2141 

2142 >>> merit_to_energy(3, 4.5) 

2143 1 

2144 >>> merit_to_energy(4, 4) 

2145 2 

2146 >>> merit_to_energy(5, 6.25) 

2147 2 

2148 >>> merit_to_energy(6, 2.571) 

2149 7 

2150 >>> merit_to_energy(7, 8.167) 

2151 3 

2152 >>> merit_to_energy(8, 4) 

2153 8 

2154 >>> merit_to_energy(9, 3.375) 

2155 12 

2156 >>> merit_to_energy(10, 3.846) 

2157 13 

2158 >>> merit_to_energy(11, 12.100) 

2159 5 

2160 >>> merit_to_energy(12, 7.200) 

2161 10 

2162 >>> merit_to_energy(13, 14.083) 

2163 6 

2164 >>> merit_to_energy(14, 5.158) 

2165 19 

2166 >>> merit_to_energy(15, 7.5) 

2167 15 

2168 >>> merit_to_energy(16, 5.333) 

2169 24 

2170 >>> merit_to_energy(17, 4.516) 

2171 32 

2172 >>> merit_to_energy(18, 6.48) 

2173 25 

2174 >>> merit_to_energy(47, 8.181) 

2175 135 

2176 >>> merit_to_energy(66, 8.475) 

2177 257 

2178 >>> merit_to_energy(19, 5.47) 

2179 33 

2180 >>> merit_to_energy(119, 8.48) 

2181 835 

2182 >>> merit_to_energy(401, 6.7632) 

2183 11888 

2184 >>> merit_to_energy(181, 8.9316) 

2185 1834 

2186 >>> merit_to_energy(201, 8.4876) 

2187 2380 

2188 >>> merit_to_energy(215, 8.5888) 

2189 2691 

2190 >>> merit_to_energy(221, 8.8544) 

2191 2758 

2192 >>> merit_to_energy(241, 8.0668) 

2193 3600 

2194 >>> merit_to_energy(249, 8.1323) 

2195 3812 

2196 >>> merit_to_energy(259, 8.0918) 

2197 4145 

2198 >>> merit_to_energy(261, 7.8517) 

2199 4338 

2200 >>> merit_to_energy(271, 7.5386) 

2201 4871 

2202 >>> merit_to_energy(281, 7.5058) 

2203 5260 

2204 >>> merit_to_energy(283, 7.5088) 

2205 5333 

2206 >>> merit_to_energy(301, 7.4827) 

2207 6054 

2208 >>> merit_to_energy(303, 7.2462) 

2209 6335 

2210 >>> merit_to_energy(341, 6.9397) 

2211 8378 

2212 >>> merit_to_energy(381, 7.0893) 

2213 10238 

2214 >>> merit_to_energy(401, 6.7632) 

2215 11888 

2216 """ 

2217 n = check_int_range(n, "n", 3) 

2218 if not isinstance(merit, int | float): 

2219 raise type_error(merit, "merit", (int, float)) 

2220 if (not isfinite(merit)) or (merit <= 0): 

2221 raise ValueError(f"merit factor cannot be {merit}.") 

2222 return int(0.5 + ((n * n) / merit) / 2) 

2223 

2224 

2225#: The lower bounds of the LABS problem, i.e., the objective values of the 

2226#: known global optima also used in the unit tests of the :func:`labs` 

2227#: function. We use the data from 

2228#: 

2229#: Tom Packebusch and Stephan Mertens. Low Autocorrelation Binary Sequences. 

2230#: arXiv:1512.02475v2 [cond-mat.stat-mech] 24 Mar 2016 

2231#: https://arxiv.org/pdf/1512.02475 

2232_LBS: Final[dict[int, int]] = { 

2233 3: 1, 4: 2, 5: 2, 6: 7, 7: 3, 8: 8, 9: 12, 10: 13, 11: 5, 12: 10, 13: 6, 

2234 14: 19, 15: 15, 16: 24, 17: 32, 18: 25, 19: 29, 20: 26, 21: 26, 22: 39, 

2235 23: 47, 24: 36, 25: 36, 26: 45, 27: 37, 28: 50, 29: 62, 30: 59, 31: 67, 

2236 32: 64, 33: 64, 34: 65, 35: 73, 36: 82, 37: 86, 38: 87, 39: 99, 40: 108, 

2237 41: 108, 42: 101, 43: 109, 44: 122, 45: 118, 46: 131, 47: 135, 48: 140, 

2238 49: 136, 50: 153, 51: 153, 52: 166, 53: 170, 54: 175, 55: 171, 56: 192, 

2239 57: 188, 58: 197, 59: 205, 60: 218, 61: 226, 62: 235, 63: 207, 64: 208, 

2240 65: 240, 66: 257} 

2241 

2242 

2243#: the internal set of related work solutions 

2244__RELATED_WORKS: Final[dict[tuple[str, str], dict[int, int]]] = { 

2245 ("M1996ESFLABS", 

2246 ("Stephan Mertens. Exhaustive search for low-autocorrelation binary " 

2247 "sequences. Journal of Physics A: Mathematical and General. " 

2248 "29(18):L473. September 1996. doi:10.1088/0305-4470/29/18/00.")): { 

2249 3: 1, 4: 2, 5: 2, 6: 7, 7: 3, 8: 8, 9: 12, 10: 13, 11: 5, 12: 10, 

2250 13: 6, 14: 19, 15: 15, 16: 24, 17: 32, 18: 25, 19: 29, 20: 26, 

2251 21: 26, 22: 39, 23: 47, 24: 36, 25: 36, 26: 45, 27: 37, 28: 50, 

2252 29: 62, 30: 59, 31: 67, 32: 64, 33: 64, 34: 65, 35: 73, 36: 82, 

2253 37: 86, 38: 87, 39: 99, 40: 108, 41: 108, 42: 101, 43: 109, 44: 122, 

2254 45: 118, 46: 131, 47: 135, 48: 140, 

2255 }, 

2256 ("MZB1998ESFLABS", 

2257 ("Burkhard Militzer, Michele Zamparelli, and Dieter Beule. Evolutionary " 

2258 "Search for Low Autocorrelated Binary Sequences. IEEE Transactions on " 

2259 "Evolutionary Computation 2(1):34-39, April 1998. " 

2260 "doi:10.1109/4235.728212.")): { 

2261 81: merit_to_energy(81, 8.2), 101: merit_to_energy(101, 8.82), 

2262 103: merit_to_energy(103, 9.56), 105: merit_to_energy(105, 8.78), 

2263 107: merit_to_energy(107, 8.46), 109: merit_to_energy(109, 8.97), 

2264 111: merit_to_energy(111, 8.97), 113: merit_to_energy(113, 8.49), 

2265 115: merit_to_energy(115, 8.88), 117: merit_to_energy(117, 8.71), 

2266 119: merit_to_energy(119, 8.02), 121: merit_to_energy(121, 8.67), 

2267 141: merit_to_energy(141, 8.83), 161: merit_to_energy(161, 8.39), 

2268 181: merit_to_energy(181, 7.75), 201: merit_to_energy(201, 7.46), 

2269 }, 

2270 ("KD2004MFR", 

2271 ("Joshua Knauer and Marcos Dantus. Merit Factor Records, October 8, " 

2272 "2004. https://www2.chemistry.msu.edu/faculty/" 

2273 "dantus/merit_factor_records.htm.")): { 

2274 4: 2, 5: 2, 6: 7, 7: 3, 8: 8, 9: 12, 10: 13, 11: 5, 12: 10, 13: 6, 

2275 14: 19, 15: 15, 16: 24, 17: 32, 18: 25, 19: 29, 20: 26, 21: 26, 

2276 22: 39, 23: 47, 24: 36, 25: 36, 26: 45, 27: 37, 28: 50, 29: 62, 

2277 30: 59, 31: 67, 32: 64, 33: 64, 34: 65, 35: 73, 36: 82, 37: 86, 

2278 38: 87, 39: 99, 40: 108, 41: 108, 42: 101, 43: 109, 44: 122, 

2279 45: 118, 46: 131, 47: 135, 48: 140, 49: 136, 50: 153, 51: 153, 

2280 52: 166, 53: 170, 54: 175, 55: 171, 56: 192, 57: 188, 58: 197, 

2281 59: 205, 60: 218, 61: 226, 62: 235, 63: 207, 64: 208, 65: 240, 

2282 66: 257, 67: 241, 68: 250, 69: 274, 70: 295, 71: 275, 72: 300, 

2283 73: 308, 74: 341, 75: 329, 76: 334, 77: 358, 78: 347, 79: 339, 

2284 80: 352, 81: 372, 82: 377, 83: 377, 84: 430, 85: 414, 86: 439, 

2285 87: 431, 88: 448, 89: 432, 90: 453, 91: 477, 92: 498, 93: 486, 

2286 94: 499, 95: 479, 96: 520, 97: 536, 98: 545, 99: 577, 100: 578, 

2287 101: 578, 102: 567, 103: 555, 104: 612, 105: 620, 106: 701, 

2288 107: 677, 108: 702, 109: 662, 110: 723, 111: 687, 112: 788, 

2289 113: 752, 114: 817, 115: 745, 116: 814, 117: 786, 118: 847, 

2290 119: 835, 120: 872, 121: 844, 122: 885, 123: 893, 124: 922, 

2291 125: 846, 126: 875, 127: 887, 128: 932, 129: 920, 130: 945, 

2292 131: 913, 132: 1014, 133: 1010, 134: 1063, 135: 1027, 136: 1076, 

2293 137: 1052, 138: 1117, 139: 1133, 140: 1178, 141: 1126, 142: 1235, 

2294 143: 1191, 144: 1248, 145: 1208, 146: 1273, 147: 1265, 148: 1298, 

2295 149: 1218, 150: 1279, 151: 1275, 152: 1388, 153: 1340, 154: 1429, 

2296 155: 1437, 156: 1438, 157: 1366, 158: 1467, 159: 1439, 160: 1504, 

2297 161: 1520, 162: 1585, 163: 1529, 164: 1594, 165: 1474, 166: 1591, 

2298 167: 1563, 168: 1620, 169: 1532, 170: 1693, 171: 1677, 172: 1674, 

2299 173: 1606, 174: 1699, 175: 1719, 176: 1780, 177: 1808, 178: 1929, 

2300 179: 1897, 180: 1898, 181: 1898, 182: 2015, 183: 1995, 184: 2040, 

2301 185: 2028, 186: 2069, 187: 1973, 188: 1970, 189: 1966, 190: 2123, 

2302 191: 2191, 192: 2304, 193: 2272, 194: 2337, 195: 2281, 196: 2374, 

2303 197: 2218, 198: 2343, 199: 2275, 200: 2412, 201: 2460, 202: 2541, 

2304 203: 2421, 204: 2542, 205: 2662, 206: 2723, 207: 2695, 208: 2720, 

2305 209: 2664, 210: 2761, 211: 2801, 212: 2878, 213: 2698, 214: 2799, 

2306 215: 2831, 216: 2968, 217: 3036, 218: 3173, 219: 3189, 220: 3322, 

2307 221: 3206, 222: 3211, 223: 3215, 224: 3392, 225: 3416, 226: 3569, 

2308 227: 3409, 228: 3566, 229: 3474, 230: 3687, 231: 3587, 232: 3752, 

2309 233: 3692, 234: 3821, 235: 3757, 236: 3674, 237: 3590, 238: 3651, 

2310 239: 3711, 240: 3948, 241: 3992, 242: 4073, 243: 4073, 244: 4150, 

2311 245: 4098, 246: 4223, 247: 4291, 249: 4280, 250: 4341, 251: 4165, 

2312 252: 4386, 253: 4382, 254: 4587, 255: 4463, 256: 4584, 257: 4472, 

2313 258: 4705, 259: 4705, 261: 4790, 262: 4887, 263: 4803, 264: 4892, 

2314 265: 4948, 267: 5037, 268: 5130, 269: 4950, 270: 5203, 271: 5243, 

2315 281: 5564, 283: 5697, 285: 5790, 303: 6455, 304: 6568, 

2316 }, 

2317 ("GCF2007AMAFTLABSP", 

2318 ("José E. Gallardo, Carlos Cotta, and Antonio J. Fernández. A Memetic " 

2319 "Algorithm for the Low Autocorrelation Binary Sequence Problem. 9th " 

2320 "Annual Conference on Genetic and Evolutionary Computation " 

2321 "(GECCO'2007), July 7-11, 2007, London, England, UK, pages 1226-1233. " 

2322 "doi:10.1145/1276958.1277195.")): { 

2323 39: 99, 40: 108, 41: 108, 42: 101, 43: 109, 44: 122, 45: 118, 46: 131, 

2324 47: 135, 48: 140, 49: 136, 50: 153, 51: 153, 52: 166, 53: 170, 

2325 54: 175, 55: 171, 56: 192, 57: 188, 58: 197, 59: 205, 60: 218, 

2326 }, 

2327 ("HYH2008ESLSFTLABSP", 

2328 ("Steven Halim, Roland H. C. Yap, and Felix Halim. Engineering " 

2329 "Stochastic Local Search for the Low Autocorrelation Binary " 

2330 "Sequence Problem. 14th International Conference on Principles and " 

2331 "Practice of Constraint Programming (CP'2008), September 14-18, 2008, " 

2332 "Sydney, Australia, pages 640-645, Lecture Notes in Computer Science " 

2333 "(LNPSE), volume 5202. Heidelberg/Berlin: Springer. ISBN: " 

2334 "978-3-540-85957-4. doi:10.1007/978-3-540-85958-1_57")): { 

2335 61: 226, 62: 235, 63: 207, 64: 208, 65: 240, 66: 265, 67: 241, 

2336 68: 250, 69: 274, 70: 295, 71: 275, 72: 300, 73: 308, 74: 349, 

2337 75: 341, 76: 338, 77: 366, 

2338 }, 

2339 ("P2013IBABFLABS", 

2340 ("S. D. Prestwich. Improved Branch-and-Bound for Low Autocorrelation " 

2341 "Binary Sequences. arXiv:1305.6187v2 [cs.AI] 23 Jul 2013. " 

2342 "https://arxiv.org/pdf/1305.6187.")): { 

2343 75: merit_to_energy(75, 8.25), 77: merit_to_energy(77, 8.28), 

2344 79: merit_to_energy(79, 7.67), 81: merit_to_energy(81, 8.2), 

2345 83: merit_to_energy(83, 9.14), 85: merit_to_energy(85, 8.17), 

2346 87: merit_to_energy(87, 8.39), 89: merit_to_energy(89, 8.18), 

2347 }, 

2348 ("MD2015NESFLLABS", 

2349 ("Wai Ho Mow and Ke-Lin Du. New Evolutionary Search for Long Low " 

2350 "Autocorrelation Binary Sequences. IEEE Transactions on Aerospace and " 

2351 "Electronic Systems. 51(1):290-303. January 2015. " 

2352 "doi:10.1109/TAES.2014.130518")): { 

2353 106: merit_to_energy(106, 5.0295), 107: merit_to_energy(107, 5.1805), 

2354 108: merit_to_energy(108, 4.6957), 109: merit_to_energy(109, 5.0429), 

2355 110: merit_to_energy(110, 4.9631), 111: merit_to_energy(111, 5.626), 

2356 112: merit_to_energy(112, 5.3153), 113: merit_to_energy(113, 4.8514), 

2357 114: merit_to_energy(114, 4.4114), 115: merit_to_energy(115, 4.8729), 

2358 116: merit_to_energy(116, 4.3974), 117: merit_to_energy(117, 4.2832), 

2359 118: merit_to_energy(118, 4.5355), 119: merit_to_energy(119, 4.7235), 

2360 120: merit_to_energy(120, 5.8632), 121: merit_to_energy(121, 4.4421), 

2361 122: merit_to_energy(122, 4.6368), 123: merit_to_energy(123, 4.6897), 

2362 124: merit_to_energy(124, 4.9987), 125: merit_to_energy(125, 4.8646), 

2363 126: merit_to_energy(126, 5.0272), 127: merit_to_energy(127, 4.8965), 

2364 128: merit_to_energy(128, 4.8075), 129: merit_to_energy(129, 4.6328), 

2365 130: merit_to_energy(130, 4.8872), 131: merit_to_energy(131, 4.9627), 

2366 132: merit_to_energy(132, 4.343), 133: merit_to_energy(133, 4.6995), 

2367 134: merit_to_energy(134, 4.438), 135: merit_to_energy(135, 4.5134), 

2368 136: merit_to_energy(136, 4.472), 137: merit_to_energy(137, 4.2273), 

2369 138: merit_to_energy(138, 4.3341), 139: merit_to_energy(139, 4.6602), 

2370 140: merit_to_energy(140, 4.6009), 141: merit_to_energy(141, 4.418), 

2371 142: merit_to_energy(142, 4.4789), 143: merit_to_energy(143, 4.5584), 

2372 144: merit_to_energy(144, 4.2492), 145: merit_to_energy(145, 4.4696), 

2373 146: merit_to_energy(146, 4.6239), 147: merit_to_energy(147, 4.3409), 

2374 148: merit_to_energy(148, 4.3703), 149: merit_to_energy(149, 4.5531), 

2375 150: merit_to_energy(150, 4.7209), 151: merit_to_energy(151, 4.3663), 

2376 152: merit_to_energy(152, 5.2509), 153: merit_to_energy(153, 4.8206), 

2377 154: merit_to_energy(154, 4.2517), 155: merit_to_energy(155, 4.2704), 

2378 156: merit_to_energy(156, 4.5986), 157: merit_to_energy(157, 4.6368), 

2379 158: merit_to_energy(158, 4.9473), 159: merit_to_energy(159, 4.7396), 

2380 160: merit_to_energy(160, 4.878), 161: merit_to_energy(161, 4.7789), 

2381 162: merit_to_energy(162, 4.5674), 163: merit_to_energy(163, 4.676), 

2382 164: merit_to_energy(164, 5.0367), 165: merit_to_energy(165, 4.2834), 

2383 166: merit_to_energy(166, 4.5337), 167: merit_to_energy(167, 4.719), 

2384 168: merit_to_energy(168, 4.6057), 169: merit_to_energy(169, 4.7099), 

2385 170: merit_to_energy(170, 4.6598), 171: merit_to_energy(171, 4.4077), 

2386 172: merit_to_energy(172, 4.7685), 173: merit_to_energy(173, 4.7932), 

2387 174: merit_to_energy(174, 4.6564), 175: merit_to_energy(175, 4.2832), 

2388 176: merit_to_energy(176, 4.2549), 177: merit_to_energy(177, 4.3416), 

2389 178: merit_to_energy(178, 4.1331), 179: merit_to_energy(179, 4.3287), 

2390 180: merit_to_energy(180, 4.3385), 181: merit_to_energy(181, 4.5832), 

2391 182: merit_to_energy(182, 4.2347), 183: merit_to_energy(183, 4.4879), 

2392 184: merit_to_energy(184, 3.9331), 185: merit_to_energy(185, 4.5464), 

2393 186: merit_to_energy(186, 4.6239), 187: merit_to_energy(187, 4.5285), 

2394 188: merit_to_energy(188, 4.7176), 189: merit_to_energy(189, 4.809), 

2395 190: merit_to_energy(190, 4.4645), 191: merit_to_energy(191, 5.0125), 

2396 192: merit_to_energy(192, 4.795), 193: merit_to_energy(193, 4.5205), 

2397 194: merit_to_energy(194, 4.4288), 195: merit_to_energy(195, 4.2316), 

2398 196: merit_to_energy(196, 4.3048), 197: merit_to_energy(197, 4.6267), 

2399 198: merit_to_energy(198, 4.5052), 199: merit_to_energy(199, 4.4889), 

2400 200: merit_to_energy(200, 4.5496), 201: merit_to_energy(201, 4.008), 

2401 202: merit_to_energy(202, 4.3033), 203: merit_to_energy(203, 4.3033), 

2402 204: merit_to_energy(204, 4.231), 205: merit_to_energy(205, 4.705), 

2403 206: merit_to_energy(206, 4.1288), 207: merit_to_energy(207, 4.1886), 

2404 208: merit_to_energy(208, 4.3126), 209: merit_to_energy(209, 4.3542), 

2405 210: merit_to_energy(210, 4.6392), 211: merit_to_energy(211, 4.2899), 

2406 212: merit_to_energy(212, 4.3567), 213: merit_to_energy(213, 4.517), 

2407 214: merit_to_energy(214, 4.4872), 215: merit_to_energy(215, 4.3584), 

2408 216: merit_to_energy(216, 4.7725), 217: merit_to_energy(217, 4.1364), 

2409 218: merit_to_energy(218, 4.5373), 219: merit_to_energy(219, 4.7798), 

2410 220: merit_to_energy(220, 4.6414), 221: merit_to_energy(221, 4.4096), 

2411 222: merit_to_energy(222, 4.5273), 223: merit_to_energy(223, 4.5216), 

2412 224: merit_to_energy(224, 4.5253), 225: merit_to_energy(225, 4.6462), 

2413 226: merit_to_energy(226, 4.599), 227: merit_to_energy(227, 4.5641), 

2414 228: merit_to_energy(228, 4.6365), 229: merit_to_energy(229, 4.5664), 

2415 230: merit_to_energy(230, 4.5299), 231: merit_to_energy(231, 4.5819), 

2416 232: merit_to_energy(232, 4.4556), 233: merit_to_energy(233, 4.5423), 

2417 234: merit_to_energy(234, 4.3122), 235: merit_to_energy(235, 4.4529), 

2418 236: merit_to_energy(236, 4.3418), 237: merit_to_energy(237, 4.3488), 

2419 238: merit_to_energy(238, 4.6992), 239: merit_to_energy(239, 4.5457), 

2420 240: merit_to_energy(240, 4.6512), 241: merit_to_energy(241, 4.3921), 

2421 242: merit_to_energy(242, 4.3464), 243: merit_to_energy(243, 4.6415), 

2422 244: merit_to_energy(244, 4.2224), 245: merit_to_energy(245, 4.3994), 

2423 246: merit_to_energy(246, 4.498), 247: merit_to_energy(247, 4.7024), 

2424 248: merit_to_energy(248, 4.4414), 249: merit_to_energy(249, 4.6491), 

2425 250: merit_to_energy(250, 4.4816), 251: merit_to_energy(251, 4.7291), 

2426 252: merit_to_energy(252, 4.002), 253: merit_to_energy(253, 4.7163), 

2427 254: merit_to_energy(254, 4.544), 255: merit_to_energy(255, 4.5902), 

2428 256: merit_to_energy(256, 4.8075), 257: merit_to_energy(257, 4.8338), 

2429 258: merit_to_energy(258, 4.3421), 259: merit_to_energy(259, 4.4596), 

2430 260: merit_to_energy(260, 4.6492), 261: merit_to_energy(261, 4.2672), 

2431 262: merit_to_energy(262, 4.4557), 263: merit_to_energy(263, 4.3344), 

2432 264: merit_to_energy(264, 4.6814), 265: merit_to_energy(265, 4.6007), 

2433 266: merit_to_energy(266, 4.3118), 267: merit_to_energy(267, 4.2652), 

2434 268: merit_to_energy(268, 4.5912), 269: merit_to_energy(269, 4.5903), 

2435 270: merit_to_energy(270, 4.3836), 271: merit_to_energy(271, 4.5028), 

2436 272: merit_to_energy(272, 4.8267), 273: merit_to_energy(273, 4.4617), 

2437 274: merit_to_energy(274, 4.4683), 275: merit_to_energy(275, 4.3881), 

2438 276: merit_to_energy(276, 4.5032), 277: merit_to_energy(277, 4.4352), 

2439 278: merit_to_energy(278, 4.579), 279: merit_to_energy(279, 4.3192), 

2440 280: merit_to_energy(280, 4.2535), 281: merit_to_energy(281, 4.2325), 

2441 282: merit_to_energy(282, 4.4273), 283: merit_to_energy(283, 4.4747), 

2442 284: merit_to_energy(284, 4.4307), 285: merit_to_energy(285, 4.3735), 

2443 286: merit_to_energy(286, 4.383), 287: merit_to_energy(287, 4.1706), 

2444 288: merit_to_energy(288, 4.3858), 289: merit_to_energy(289, 4.2981), 

2445 290: merit_to_energy(290, 4.5622), 291: merit_to_energy(291, 4.5621), 

2446 292: merit_to_energy(292, 4.641), 293: merit_to_energy(293, 4.7599), 

2447 294: merit_to_energy(294, 4.3961), 295: merit_to_energy(295, 4.3992), 

2448 296: merit_to_energy(296, 4.3203), 297: merit_to_energy(297, 4.2953), 

2449 298: merit_to_energy(298, 4.5771), 299: merit_to_energy(299, 4.4166), 

2450 300: merit_to_energy(300, 4.4074), 303: merit_to_energy(303, 4.3507), 

2451 304: merit_to_energy(304, 4.0676), 350: merit_to_energy(350, 3.9458), 

2452 353: merit_to_energy(353, 4.2075), 400: merit_to_energy(400, 4.3908), 

2453 449: merit_to_energy(449, 4.0547), 450: merit_to_energy(450, 4.4235), 

2454 500: merit_to_energy(500, 4.3442), 512: merit_to_energy(512, 4.2656), 

2455 547: merit_to_energy(547, 4.3408), 550: merit_to_energy(550, 4.0695), 

2456 600: merit_to_energy(600, 3.6753), 650: merit_to_energy(650, 3.9239), 

2457 653: merit_to_energy(653, 4.2287), 700: merit_to_energy(700, 4.1524), 

2458 750: merit_to_energy(750, 3.7603), 751: merit_to_energy(751, 4.1537), 

2459 800: merit_to_energy(800, 3.7481), 850: merit_to_energy(850, 3.8096), 

2460 853: merit_to_energy(853, 4.0854), 900: merit_to_energy(900, 3.7623), 

2461 950: merit_to_energy(950, 4.0438), 953: merit_to_energy(953, 3.8493), 

2462 1000: merit_to_energy(1000, 3.7873), 

2463 1019: merit_to_energy(1019, 4.139), 

2464 1024: merit_to_energy(1024, 3.9683), 

2465 1500: merit_to_energy(1500, 3.7316), 

2466 2000: merit_to_energy(2000, 3.6193), 

2467 2048: merit_to_energy(2048, 3.5387), 

2468 2197: merit_to_energy(2197, 3.6423), 

2469 3000: merit_to_energy(3000, 3.3608), 

2470 4096: merit_to_energy(4096, 3.4589), 

2471 }, 

2472 ("PM2016LABS", 

2473 ("Tom Packebusch and Stephan Mertens. Low Autocorrelation Binary " 

2474 "Sequences. Journal of Physics A: Mathematical and Theoretical " 

2475 "49(16):165001. March 2016. doi:10.1088/1751-8113/49/16/165001. See " 

2476 "also: arXiv:1512.02475v2 [cond-mat.stat-mech] 24 Mar 2016")): { 

2477 3: 1, 4: 2, 5: 2, 6: 7, 7: 3, 8: 8, 9: 12, 10: 13, 11: 5, 12: 10, 

2478 13: 6, 14: 19, 15: 15, 16: 24, 17: 32, 18: 25, 19: 29, 20: 26, 21: 26, 

2479 22: 39, 23: 47, 24: 36, 25: 36, 26: 45, 27: 37, 28: 50, 29: 62, 

2480 30: 59, 31: 67, 32: 64, 33: 64, 34: 65, 35: 73, 36: 82, 37: 86, 

2481 38: 87, 39: 99, 40: 108, 41: 108, 42: 101, 43: 109, 44: 122, 45: 118, 

2482 46: 131, 47: 135, 48: 140, 49: 136, 50: 153, 51: 153, 52: 166, 

2483 53: 170, 54: 175, 55: 171, 56: 192, 57: 188, 58: 197, 59: 205, 

2484 60: 218, 61: 226, 62: 235, 63: 207, 64: 208, 65: 240, 66: 257, 

2485 67: 241, 69: 282, 71: 275, 73: 348, 75: 341, 77: 358, 79: 407, 

2486 81: 400, 83: 377, 85: 442, 87: 451, 89: 484, 91: 477, 93: 502, 

2487 95: 479, 97: 536, 99: 577, 101: 578, 103: 555, 105: 620, 107: 677, 

2488 109: 662, 111: 687, 113: 752, 115: 745, 117: 786, 119: 835, 

2489 }, 

2490 ("BBB2016AGAFSASOTLP", 

2491 ("Borko Bošković, Franc Brglez, and Janez Brest. A GitHub Archive for " 

2492 "Solvers and Solutions of the LABS Problem. File 2016-labs-skew.txt. " 

2493 "https://github.com/borkob/git_labs. January 2016.")): { 

2494 5: 2, 7: 3, 9: 12, 11: 5, 13: 6, 15: 15, 17: 32, 21: 26, 27: 37, 

2495 29: 62, 39: 99, 41: 108, 43: 109, 45: 118, 47: 135, 49: 136, 51: 153, 

2496 53: 170, 55: 171, 57: 188, 59: 205, 67: 241, 71: 275, 77: 358, 

2497 83: 377, 91: 477, 95: 479, 97: 536, 99: 577, 101: 578, 103: 555, 

2498 105: 620, 107: 677, 109: 662, 111: 687, 113: 752, 115: 745, 117: 786, 

2499 119: 835, 121: 844, 123: 893, 125: 846, 127: 887, 129: 920, 131: 913, 

2500 133: 1010, 135: 1027, 137: 1052, 139: 1133, 141: 1126, 143: 1191, 

2501 145: 1208, 147: 1265, 149: 1218, 151: 1275, 153: 1340, 155: 1437, 

2502 157: 1366, 159: 1439, 161: 1520, 163: 1529, 165: 1474, 167: 1563, 

2503 169: 1532, 171: 1677, 173: 1598, 175: 1687, 177: 1648, 179: 1761, 

2504 181: 1834, 183: 1859, 185: 2028, 187: 1973, 189: 1966, 191: 2191, 

2505 193: 2272, 195: 2281, 197: 2218, 199: 2275, 201: 2380, 203: 2421, 

2506 205: 2662, 207: 2695, 209: 3016, 211: 2801, 213: 2698, 215: 2691, 

2507 217: 3036, 219: 3189, 221: 2758, 223: 3215, 225: 3416, 227: 3409, 

2508 229: 3474, 231: 3587, 233: 3692, 235: 3757, 237: 3590, 239: 3711, 

2509 241: 3600, 243: 4073, 245: 4098, 247: 4291, 249: 3812, 251: 4165, 

2510 253: 4382, 255: 4463, 257: 4472, 259: 4145, 261: 4338, 263: 4803, 

2511 265: 4948, 267: 5037, 269: 4950, 271: 4871, 281: 5260, 283: 5333, 

2512 285: 5790, 301: 6054, 303: 6335, 341: 8378, 381: 10238, 401: 11888, 

2513 449: 15456, 

2514 }, 

2515 ("BBB2017LABSOIMFARPTAT", 

2516 ("Borko Bošković, Franc Brglez, and Janez Brest. Low-Autocorrelation " 

2517 "Binary Sequences: On Improved Merit Factors and Runtime Predictions" 

2518 " to Achieve Them. Applied Soft Computing (ASOC) 56:262-285. July 2017." 

2519 " doi:10.1016/J.ASOC.2017.02.024. See also arXiv:1406.5301v6 [cs.DS] 6 " 

2520 "May 2017. https://arxiv.org/pdf/1406.5301")): { 

2521 181: 1834, 201: 2380, 215: 2691, 221: 2758, 241: 3600, 249: 3812, 

2522 259: 4145, 261: 4338, 271: 4871, 281: 5260, 283: 5333, 301: 6054, 

2523 303: 6335, 341: 8378, 381: 10238, 401: 11888, 

2524 107: merit_to_energy(107, 8.4557), 109: merit_to_energy(109, 8.9736), 

2525 111: merit_to_energy(111, 8.9672), 113: merit_to_energy(113, 8.49), 

2526 115: merit_to_energy(115, 8.8758), 117: merit_to_energy(117, 8.708), 

2527 119: merit_to_energy(119, 8.4796), 121: merit_to_energy(121, 8.6736), 

2528 141: merit_to_energy(141, 8.8282), 149: merit_to_energy(149, 9.1137), 

2529 157: merit_to_energy(157, 9.0223), 161: merit_to_energy(161, 8.5718), 

2530 165: merit_to_energy(165, 9.2351), 169: merit_to_energy(169, 9.3215), 

2531 173: merit_to_energy(173, 9.3645), 175: merit_to_energy(175, 9.0768), 

2532 177: merit_to_energy(177, 9.5052), 179: merit_to_energy(179, 9.0974), 

2533 183: merit_to_energy(183, 9.0073), 189: merit_to_energy(189, 9.0847), 

2534 }, 

2535 ("BBB2016AGAFSASOTLP", 

2536 ("Borko Bošković, Franc Brglez, and Janez Brest. A GitHub Archive for " 

2537 "Solvers and Solutions of the LABS Problem. File 2018-labs-skew.txt. " 

2538 "https://github.com/borkob/git_labs. January 2016.")): { 

2539 5: 2, 7: 3, 9: 12, 11: 5, 13: 6, 15: 15, 17: 32, 21: 26, 27: 37, 

2540 29: 62, 39: 99, 41: 108, 43: 109, 45: 118, 47: 135, 49: 136, 51: 153, 

2541 53: 170, 55: 171, 57: 188, 59: 205, 67: 241, 71: 275, 77: 358, 

2542 83: 377, 91: 477, 95: 479, 97: 536, 99: 577, 101: 578, 103: 555, 

2543 105: 620, 107: 677, 109: 662, 111: 687, 113: 752, 115: 745, 117: 786, 

2544 119: 835, 121: 844, 123: 893, 125: 846, 127: 887, 129: 920, 131: 913, 

2545 133: 1010, 135: 1027, 137: 1052, 139: 1133, 141: 1126, 143: 1191, 

2546 145: 1208, 147: 1265, 149: 1218, 151: 1275, 153: 1340, 155: 1437, 

2547 157: 1366, 159: 1439, 161: 1520, 163: 1529, 165: 1474, 167: 1563, 

2548 169: 1532, 171: 1669, 173: 1598, 175: 1687, 177: 1648, 179: 1761, 

2549 181: 1834, 183: 1859, 185: 1932, 187: 1973, 189: 1966, 191: 1903, 

2550 193: 2144, 195: 2105, 197: 2202, 199: 2195, 201: 2220, 203: 2317, 

2551 205: 2430, 207: 2351, 209: 2528, 211: 2457, 213: 2378, 215: 2595, 

2552 217: 2684, 219: 2733, 221: 2734, 223: 2751, 225: 2808, 227: 3409, 

2553 229: 3474, 231: 3587, 233: 3692, 235: 3757, 237: 3590, 239: 3711, 

2554 241: 3600, 243: 4073, 245: 4098, 247: 4291, 249: 3812, 251: 4165, 

2555 253: 4382, 255: 4463, 257: 4472, 259: 4145, 261: 4338, 263: 4803, 

2556 265: 4948, 267: 5037, 269: 4950, 271: 4871, 281: 5260, 283: 5333, 

2557 285: 5790, 301: 6054, 303: 6335, 341: 8378, 381: 10238, 401: 11888, 

2558 449: 15456, 

2559 }, 

2560 ("BB2018AHAFALABSPWOLAHMF", 

2561 ("Borko Bošković and Janez Brest. A Heuristic Algorithm for a Low " 

2562 "Autocorrelation Binary Sequence Problem with Odd Length and High " 

2563 "Merit Factor. IEEE Access 6:4127-4134. January 2018. " 

2564 "doi:10.1109/ACCESS.2018.2789916")): { 

2565 191: 1903, 193: 2144, 195: 2105, 197: 2202, 199: 2195, 201: 2220, 

2566 203: 2317, 205: 2430, 207: 2351, 209: 2528, 211: 2457, 213: 2378, 

2567 215: 2595, 217: 2684, 219: 2733, 221: 2734, 223: 2751, 225: 2808, 

2568 }, 

2569 ("DBN2020EGOLABS", 

2570 ("Miroslav Dimitrov, Tsonka Baitcheva, and Nikolay Nikolov. Efficient " 

2571 "Generation of Low Autocorrelation Binary Sequences. IEEE Signal " 

2572 "Processing Letters, 27:341-345, 2020. doi:10.1109/LSP.2020.2972127")): { 

2573 106: merit_to_energy(106, 5.03), 107: merit_to_energy(107, 4.497), 

2574 108: merit_to_energy(108, 5.533), 109: merit_to_energy(109, 5.636), 

2575 110: merit_to_energy(110, 5.984), 111: merit_to_energy(111, 5.138), 

2576 112: merit_to_energy(112, 4.931), 113: merit_to_energy(113, 4.409), 

2577 114: merit_to_energy(114, 5.375), 115: merit_to_energy(115, 3.952), 

2578 116: merit_to_energy(116, 3.925), 117: merit_to_energy(117, 4.108), 

2579 118: merit_to_energy(118, 3.976), 119: merit_to_energy(119, 4.331), 

2580 120: merit_to_energy(120, 4.639), 121: merit_to_energy(121, 4.141), 

2581 122: merit_to_energy(122, 3.999), 123: merit_to_energy(123, 3.736), 

2582 124: merit_to_energy(124, 4.884), 125: merit_to_energy(125, 4.134), 

2583 126: merit_to_energy(126, 4.544), 127: merit_to_energy(127, 4.815), 

2584 128: merit_to_energy(128, 4.911), 129: merit_to_energy(129, 3.955), 

2585 130: merit_to_energy(130, 4.692), 131: merit_to_energy(131, 4.403), 

2586 132: merit_to_energy(132, 4.431), 133: merit_to_energy(133, 4.323), 

2587 134: merit_to_energy(134, 3.742), 135: merit_to_energy(135, 3.876), 

2588 136: merit_to_energy(136, 3.925), 137: merit_to_energy(137, 4.066), 

2589 138: merit_to_energy(138, 3.771), 139: merit_to_energy(139, 3.808), 

2590 140: merit_to_energy(140, 4.026), 141: merit_to_energy(141, 3.923), 

2591 142: merit_to_energy(142, 3.724), 143: merit_to_energy(143, 3.94), 

2592 144: merit_to_energy(144, 3.886), 145: merit_to_energy(145, 4.477), 

2593 146: merit_to_energy(146, 3.975), 147: merit_to_energy(147, 4.122), 

2594 148: merit_to_energy(148, 5.219), 149: merit_to_energy(149, 3.698), 

2595 150: merit_to_energy(150, 4.329), 151: merit_to_energy(151, 3.999), 

2596 152: merit_to_energy(152, 4.068), 153: merit_to_energy(153, 3.917), 

2597 154: merit_to_energy(154, 3.864), 155: merit_to_energy(155, 3.987), 

2598 156: merit_to_energy(156, 4.713), 157: merit_to_energy(157, 4.241), 

2599 158: merit_to_energy(158, 4.479), 159: merit_to_energy(159, 4.366), 

2600 160: merit_to_energy(160, 3.765), 161: merit_to_energy(161, 4.096), 

2601 162: merit_to_energy(162, 4.408), 163: merit_to_energy(163, 4.104), 

2602 164: merit_to_energy(164, 4.189), 165: merit_to_energy(165, 4.394), 

2603 166: merit_to_energy(166, 4.212), 167: merit_to_energy(167, 4.656), 

2604 168: merit_to_energy(168, 4.324), 169: merit_to_energy(169, 3.636), 

2605 170: merit_to_energy(170, 4.234), 171: merit_to_energy(171, 4.171), 

2606 172: merit_to_energy(172, 3.928), 173: merit_to_energy(173, 4.025), 

2607 174: merit_to_energy(174, 3.797), 175: merit_to_energy(175, 3.923), 

2608 176: merit_to_energy(176, 3.792), 177: merit_to_energy(177, 4.366), 

2609 178: merit_to_energy(178, 3.905), 179: merit_to_energy(179, 3.953), 

2610 180: merit_to_energy(180, 4.147), 181: merit_to_energy(181, 4.143), 

2611 182: merit_to_energy(182, 4.434), 183: merit_to_energy(183, 3.946), 

2612 184: merit_to_energy(184, 4.121), 185: merit_to_energy(185, 4.055), 

2613 186: merit_to_energy(186, 4.052), 187: merit_to_energy(187, 4.899), 

2614 188: merit_to_energy(188, 3.936), 189: merit_to_energy(189, 4.663), 

2615 190: merit_to_energy(190, 4.246), 191: merit_to_energy(191, 4.192), 

2616 192: merit_to_energy(192, 5.236), 193: merit_to_energy(193, 4.272), 

2617 194: merit_to_energy(194, 4.2), 195: merit_to_energy(195, 3.98), 

2618 196: merit_to_energy(196, 4.436), 197: merit_to_energy(197, 3.716), 

2619 198: merit_to_energy(198, 3.959), 199: merit_to_energy(199, 4.012), 

2620 200: merit_to_energy(200, 4.016), 201: merit_to_energy(201, 4.558), 

2621 202: merit_to_energy(202, 3.896), 203: merit_to_energy(203, 3.765), 

2622 204: merit_to_energy(204, 4.13), 205: merit_to_energy(205, 4.511), 

2623 206: merit_to_energy(206, 4.546), 207: merit_to_energy(207, 4.124), 

2624 208: merit_to_energy(208, 3.913), 209: merit_to_energy(209, 4.024), 

2625 210: merit_to_energy(210, 4.416), 211: merit_to_energy(211, 3.853), 

2626 212: merit_to_energy(212, 4.197), 213: merit_to_energy(213, 4.314), 

2627 214: merit_to_energy(214, 4.004), 215: merit_to_energy(215, 4.294), 

2628 216: merit_to_energy(216, 4.16), 217: merit_to_energy(217, 3.999), 

2629 218: merit_to_energy(218, 4.162), 219: merit_to_energy(219, 4.174), 

2630 220: merit_to_energy(220, 4.229), 221: merit_to_energy(221, 4.093), 

2631 222: merit_to_energy(222, 4.046), 223: merit_to_energy(223, 3.743), 

2632 224: merit_to_energy(224, 4.353), 225: merit_to_energy(225, 4.609), 

2633 226: merit_to_energy(226, 4.244), 227: merit_to_energy(227, 4.251), 

2634 228: merit_to_energy(228, 3.988), 229: merit_to_energy(229, 3.719), 

2635 230: merit_to_energy(230, 3.854), 231: merit_to_energy(231, 3.861), 

2636 232: merit_to_energy(232, 3.748), 233: merit_to_energy(233, 3.898), 

2637 234: merit_to_energy(234, 4.009), 235: merit_to_energy(235, 3.830), 

2638 236: merit_to_energy(236, 3.901), 237: merit_to_energy(237, 4.368), 

2639 238: merit_to_energy(238, 3.985), 239: merit_to_energy(239, 3.560), 

2640 240: merit_to_energy(240, 4.179), 241: merit_to_energy(241, 4.170), 

2641 242: merit_to_energy(242, 4.425), 243: merit_to_energy(243, 4.251), 

2642 244: merit_to_energy(244, 4.220), 245: merit_to_energy(245, 3.877), 

2643 246: merit_to_energy(246, 3.756), 247: merit_to_energy(247, 3.966), 

2644 248: merit_to_energy(248, 4.243), 249: merit_to_energy(249, 4.444), 

2645 250: merit_to_energy(250, 4.658), 251: merit_to_energy(251, 4.101), 

2646 252: merit_to_energy(252, 4.033), 253: merit_to_energy(253, 3.966), 

2647 254: merit_to_energy(254, 4.468), 255: merit_to_energy(255, 3.993), 

2648 256: merit_to_energy(256, 4.264), 257: merit_to_energy(257, 4.116), 

2649 258: merit_to_energy(258, 3.962), 259: merit_to_energy(259, 4.534), 

2650 260: merit_to_energy(260, 4.370), 261: merit_to_energy(261, 3.920), 

2651 262: merit_to_energy(262, 4.198), 263: merit_to_energy(263, 4.430), 

2652 264: merit_to_energy(264, 4.264), 265: merit_to_energy(265, 3.928), 

2653 266: merit_to_energy(266, 4.073), 267: merit_to_energy(267, 4.327), 

2654 268: merit_to_energy(268, 4.549), 269: merit_to_energy(269, 4.388), 

2655 270: merit_to_energy(270, 4.237), 271: merit_to_energy(271, 3.838), 

2656 272: merit_to_energy(272, 4.393), 273: merit_to_energy(273, 4.141), 

2657 274: merit_to_energy(274, 3.609), 275: merit_to_energy(275, 3.98), 

2658 276: merit_to_energy(276, 3.563), 277: merit_to_energy(277, 3.912), 

2659 278: merit_to_energy(278, 4.077), 279: merit_to_energy(279, 3.983), 

2660 280: merit_to_energy(280, 4.465), 281: merit_to_energy(281, 3.823), 

2661 282: merit_to_energy(282, 3.949), 283: merit_to_energy(283, 3.844), 

2662 284: merit_to_energy(284, 3.961), 285: merit_to_energy(285, 4.153), 

2663 286: merit_to_energy(286, 4.409), 287: merit_to_energy(287, 4.22), 

2664 288: merit_to_energy(288, 4.002), 289: merit_to_energy(289, 3.803), 

2665 290: merit_to_energy(290, 3.673), 291: merit_to_energy(291, 4.513), 

2666 292: merit_to_energy(292, 4.072), 293: merit_to_energy(293, 3.94), 

2667 294: merit_to_energy(294, 3.87), 295: merit_to_energy(295, 4.341), 

2668 296: merit_to_energy(296, 4.238), 297: merit_to_energy(297, 3.976), 

2669 298: merit_to_energy(298, 4.131), 299: merit_to_energy(299, 4.139), 

2670 300: merit_to_energy(300, 4.365), 

2671 }, 

2672 ("D2021OTSSBSATMFP", 

2673 ("Miroslav Dimitrov. On the Skew-Symmetric Binary Sequences and the " 

2674 "Merit Factor Problem. Digital Signal Processing 156(Part A):104793, " 

2675 "January 2025, doi:10.1016/j.dsp.2024.104793. See also: On the " 

2676 "Skew-Symmetric Binary Sequences and the Merit Factor Problem. " 

2677 "arXiv:2106.03377v1 [cs.IT] 7 Jun 2021. " 

2678 "https://arxiv.org/pdf/2106.03377.")): {449: 15432}, 

2679 ("BB2022CSOLSSBSWHMF", 

2680 ("Janez Brest and Borko Bošković. Computational Search of Long Skew-" 

2681 "Symmetric Binary Sequences with High Merit Factors. MENDEL - Soft " 

2682 "Computing Journal 28(2):17-24. December 2022. " 

2683 "doi:10.13164/mendel.202k.k.017.")): { 

2684 201: merit_to_energy(201, 9.0993), 203: merit_to_energy(203, 8.8927), 

2685 205: merit_to_energy(205, 8.7918), 207: merit_to_energy(207, 9.1129), 

2686 209: merit_to_energy(209, 9.2544), 211: merit_to_energy(211, 9.0600), 

2687 213: merit_to_energy(213, 9.5393), 215: merit_to_energy(215, 8.9066), 

2688 217: merit_to_energy(217, 8.9319), 219: merit_to_energy(219, 8.9580), 

2689 221: merit_to_energy(221, 8.9584), 223: merit_to_energy(223, 9.0383), 

2690 225: merit_to_energy(225, 9.0144), 227: merit_to_energy(227, 8.8935), 

2691 229: merit_to_energy(229, 8.8523), 231: merit_to_energy(231, 8.7678), 

2692 233: merit_to_energy(233, 8.9409), 235: merit_to_energy(235, 8.9044), 

2693 237: merit_to_energy(237, 8.8039), 239: merit_to_energy(239, 8.6678), 

2694 241: merit_to_energy(241, 8.6430), 243: merit_to_energy(243, 8.6608), 

2695 245: merit_to_energy(245, 8.7807), 247: merit_to_energy(247, 8.6784), 

2696 249: merit_to_energy(249, 8.8573), 251: merit_to_energy(251, 8.7966), 

2697 253: merit_to_energy(253, 8.7206), 255: merit_to_energy(255, 9.0338), 

2698 257: merit_to_energy(257, 8.9936), 259: merit_to_energy(259, 8.8056), 

2699 261: merit_to_energy(261, 8.7740), 263: merit_to_energy(263, 8.5882), 

2700 265: merit_to_energy(265, 8.5473), 267: merit_to_energy(267, 8.6077), 

2701 269: merit_to_energy(269, 8.5533), 271: merit_to_energy(271, 8.5496), 

2702 273: merit_to_energy(273, 8.8221), 275: merit_to_energy(275, 8.5607), 

2703 277: merit_to_energy(277, 8.6058), 279: merit_to_energy(279, 8.5898), 

2704 281: merit_to_energy(281, 8.5763), 283: merit_to_energy(283, 8.2925), 

2705 285: merit_to_energy(285, 8.5789), 287: merit_to_energy(287, 8.3184), 

2706 289: merit_to_energy(289, 8.1436), 291: merit_to_energy(291, 8.1912), 

2707 293: merit_to_energy(293, 8.0898), 295: merit_to_energy(295, 8.0534), 

2708 297: merit_to_energy(297, 8.0190), 299: merit_to_energy(299, 8.1496), 

2709 301: merit_to_energy(301, 8.3304), 303: merit_to_energy(303, 8.0718), 

2710 }, 

2711 ("D2022NCOBSWHMF", 

2712 ("Miroslav Dimitrov. New Classes of Binary Sequences with High Merit " 

2713 "Factor. arXiv:2206.12070v1 [cs.IT] 24 Jun 2022. " 

2714 "https://arxiv.org/pdf/2206.12070.")): { 

2715 172: merit_to_energy(172, 9.05263157894737), 

2716 178: merit_to_energy(178, 9.29149560117302), 

2717 180: merit_to_energy(180, 8.55332629355861), 

2718 182: merit_to_energy(182, 8.92830188679245), 

2719 184: merit_to_energy(184, 8.63673469387755), 

2720 186: merit_to_energy(186, 8.62743142144638), 

2721 190: merit_to_energy(190, 9.19510952623535), 

2722 192: merit_to_energy(192, 8.93023255813954), 

2723 193: merit_to_energy(193, 9.23834325396826), 

2724 194: merit_to_energy(194, 8.64400551217272), 

2725 196: merit_to_energy(196, 8.52173913043478), 

2726 198: merit_to_energy(198, 8.78619453160018), 

2727 200: merit_to_energy(200, 8.75656742556918), 

2728 202: merit_to_energy(202, 8.56866862662747), 

2729 204: merit_to_energy(204, 8.27684964200477), 

2730 206: merit_to_energy(206, 8.43658051689861), 

2731 208: merit_to_energy(208, 8.96849087893864), 

2732 209: merit_to_energy(209, 9.25444915254237), 

2733 210: merit_to_energy(210, 9.15317559153176), 

2734 212: merit_to_energy(212, 9.26298433635614), 

2735 214: merit_to_energy(214, 9.17755511022044), 

2736 216: merit_to_energy(216, 8.58910162002946), 

2737 218: merit_to_energy(218, 8.32877672625307), 

2738 220: merit_to_energy(220, 8.47932725998598), 

2739 222: merit_to_energy(222, 8.71666077113548), 

2740 224: merit_to_energy(224, 8.52173913043478), 

2741 226: merit_to_energy(226, 8.48720505151213), 

2742 227: merit_to_energy(227, 8.06905731287191), 

2743 228: merit_to_energy(228, 8.18903591682), 

2744 229: merit_to_energy(229, 8.55202217873), 

2745 230: merit_to_energy(230, 8.16610064835), 

2746 231: merit_to_energy(231, 8.18671371586), 

2747 232: merit_to_energy(232, 8.05748502994), 

2748 233: merit_to_energy(233, 8.22560606061), 

2749 234: merit_to_energy(234, 8.27379873073), 

2750 235: merit_to_energy(235, 8.44677271337), 

2751 236: merit_to_energy(236, 8.37282020445), 

2752 237: merit_to_energy(237, 8.65203327172), 

2753 238: merit_to_energy(238, 8.34226804124), 

2754 239: merit_to_energy(239, 8.19056495555), 

2755 240: merit_to_energy(240, 8.24742268041), 

2756 241: merit_to_energy(241, 8.26893507973), 

2757 242: merit_to_energy(242, 8.14973559699), 

2758 243: merit_to_energy(243, 8.46216680997), 

2759 244: merit_to_energy(244, 8.51974813967), 

2760 245: merit_to_energy(245, 8.5799028016), 

2761 246: merit_to_energy(246, 8.33324153126), 

2762 247: merit_to_energy(247, 8.22889128675), 

2763 248: merit_to_energy(248, 8.01668404588), 

2764 249: merit_to_energy(249, 8.20119047619), 

2765 250: merit_to_energy(250, 8.19564647259), 

2766 251: merit_to_energy(251, 8.2354248366), 

2767 252: merit_to_energy(252, 8.49438202247), 

2768 253: merit_to_energy(253, 8.95481253497), 

2769 254: merit_to_energy(254, 8.51808819646), 

2770 255: merit_to_energy(255, 8.22892938497), 

2771 256: merit_to_energy(256, 8.12698412698), 

2772 257: merit_to_energy(257, 8.32270665323), 

2773 258: merit_to_energy(258, 8.25241755517), 

2774 259: merit_to_energy(259, 8.18659995118), 

2775 260: merit_to_energy(260, 8.26405867971), 

2776 261: merit_to_energy(261, 8.04452054795), 

2777 262: merit_to_energy(262, 8.08146927243), 

2778 263: merit_to_energy(263, 8.22852724245), 

2779 264: merit_to_energy(264, 8.17260787993), 

2780 265: merit_to_energy(265, 8.71710526316), 

2781 266: merit_to_energy(266, 8.1049255441), 

2782 267: merit_to_energy(267, 8.07715839565), 

2783 268: merit_to_energy(268, 8.01965163019), 

2784 269: merit_to_energy(269, 7.4414849856), 

2785 270: merit_to_energy(270, 7.27399720615), 

2786 271: merit_to_energy(271, 7.69015706806), 

2787 272: merit_to_energy(272, 7.35719968178), 

2788 273: merit_to_energy(273, 7.21062306502), 

2789 274: merit_to_energy(274, 7.1843062201), 

2790 275: merit_to_energy(275, 7.50099186669), 

2791 276: merit_to_energy(276, 7.47703180212), 

2792 277: merit_to_energy(277, 7.45520792849), 

2793 278: merit_to_energy(278, 7.12557624931), 

2794 279: merit_to_energy(279, 7.05209277043), 

2795 280: merit_to_energy(280, 7.27002967359), 

2796 281: merit_to_energy(281, 7.7050156128), 

2797 282: merit_to_energy(282, 7.38933283776), 

2798 283: merit_to_energy(283, 8.17067945317), 

2799 284: merit_to_energy(284, 7.89815902859), 

2800 285: merit_to_energy(285, 7.46827877896), 

2801 286: merit_to_energy(286, 7.22707192083), 

2802 287: merit_to_energy(287, 7.47314461985), 

2803 288: merit_to_energy(288, 7.21503131524), 

2804 289: merit_to_energy(289, 7.1312329235), 

2805 290: merit_to_energy(290, 7.36040609137), 

2806 291: merit_to_energy(291, 7.71370012753), 

2807 292: merit_to_energy(292, 7.58846564614), 

2808 293: merit_to_energy(293, 7.47032718413), 

2809 294: merit_to_energy(294, 7.33129770992), 

2810 295: merit_to_energy(295, 7.28730530899), 

2811 296: merit_to_energy(296, 7.13950456323), 

2812 297: merit_to_energy(297, 7.1551752109), 

2813 298: merit_to_energy(298, 7.26829268293), 

2814 299: merit_to_energy(299, 7.38485048736), 

2815 300: merit_to_energy(300, 7.67132628708), 

2816 301: merit_to_energy(301, 8.24544958136), 

2817 302: merit_to_energy(302, 8.092635315), 

2818 303: merit_to_energy(303, 8.16370264983), 

2819 304: merit_to_energy(304, 8.24553890079), 

2820 305: merit_to_energy(305, 8.12587351502), 

2821 306: merit_to_energy(306, 8.18353434714), 

2822 307: merit_to_energy(307, 8.27180972442), 

2823 308: merit_to_energy(308, 8.15823873409), 

2824 309: merit_to_energy(309, 8.08338977311), 

2825 310: merit_to_energy(310, 7.96716962361), 

2826 311: merit_to_energy(311, 7.88786494862), 

2827 312: merit_to_energy(312, 7.69152970923), 

2828 313: merit_to_energy(313, 7.62048848787), 

2829 314: merit_to_energy(314, 7.31315828512), 

2830 315: merit_to_energy(315, 7.5204638472), 

2831 316: merit_to_energy(316, 7.25908694388), 

2832 317: merit_to_energy(317, 7.46131571132), 

2833 318: merit_to_energy(318, 7.23658222413), 

2834 319: merit_to_energy(319, 7.45720357614), 

2835 320: merit_to_energy(320, 7.48976009362), 

2836 321: merit_to_energy(321, 7.73116746699), 

2837 322: merit_to_energy(322, 7.76891952645), 

2838 323: merit_to_energy(323, 7.80788804071), 

2839 324: merit_to_energy(324, 7.68491947291), 

2840 325: merit_to_energy(325, 7.61206399539), 

2841 326: merit_to_energy(326, 7.50642746151), 

2842 327: merit_to_energy(327, 7.76761586518), 

2843 328: merit_to_energy(328, 7.22622246104), 

2844 329: merit_to_energy(329, 7.33340108401), 

2845 330: merit_to_energy(330, 7.22819593787), 

2846 331: merit_to_energy(331, 7.44603778714), 

2847 332: merit_to_energy(332, 7.2117246794), 

2848 333: merit_to_energy(333, 7.29724927613), 

2849 334: merit_to_energy(334, 7.06855911798), 

2850 335: merit_to_energy(335, 7.46276100545), 

2851 336: merit_to_energy(336, 7.27422680412), 

2852 337: merit_to_energy(337, 7.35550518135), 

2853 338: merit_to_energy(338, 7.26280991736), 

2854 339: merit_to_energy(339, 7.77228459353), 

2855 340: merit_to_energy(340, 7.7500670421), 

2856 341: merit_to_energy(341, 7.72939377825), 

2857 342: merit_to_energy(342, 7.67984241628), 

2858 343: merit_to_energy(343, 7.63260672116), 

2859 344: merit_to_energy(344, 7.36286709806), 

2860 345: merit_to_energy(345, 7.48773276296), 

2861 346: merit_to_energy(346, 7.10818192614), 

2862 347: merit_to_energy(347, 7.23177177177), 

2863 348: merit_to_energy(348, 7.13888233907), 

2864 349: merit_to_energy(349, 7.24488460623), 

2865 350: merit_to_energy(350, 7.14619064287), 

2866 351: merit_to_energy(351, 7.14043120436), 

2867 352: merit_to_energy(352, 7.05603644647), 

2868 353: merit_to_energy(353, 7.26498367537), 

2869 354: merit_to_energy(354, 7.18472652219), 

2870 355: merit_to_energy(355, 7.39496537965), 

2871 356: merit_to_energy(356, 7.20582215147), 

2872 357: merit_to_energy(357, 7.48467230444), 

2873 358: merit_to_energy(358, 7.27625752243), 

2874 359: merit_to_energy(359, 7.33361784454), 

2875 360: merit_to_energy(360, 7.12714474263), 

2876 361: merit_to_energy(361, 7.17310656099), 

2877 362: merit_to_energy(362, 7.86295451818), 

2878 363: merit_to_energy(363, 7.92929353713), 

2879 364: merit_to_energy(364, 7.68003709715), 

2880 365: merit_to_energy(365, 7.46274927179), 

2881 366: merit_to_energy(366, 7.43291532571), 

2882 367: merit_to_energy(367, 7.28600021638), 

2883 368: merit_to_energy(368, 7.07692307692), 

2884 369: merit_to_energy(369, 7.19667019027), 

2885 370: merit_to_energy(370, 7.02988600185), 

2886 371: merit_to_energy(371, 7.44730007575), 

2887 372: merit_to_energy(372, 7.53561315618), 

2888 373: merit_to_energy(373, 7.62601403201), 

2889 374: merit_to_energy(374, 7.51133068414), 

2890 375: merit_to_energy(375, 7.40209495736), 

2891 376: merit_to_energy(376, 7.28141738772), 

2892 377: merit_to_energy(377, 7.35048613984), 

2893 378: merit_to_energy(378, 7.11786390356), 

2894 379: merit_to_energy(379, 7.33685769742), 

2895 380: merit_to_energy(380, 7.01924946529), 

2896 381: merit_to_energy(381, 7.2018753721), 

2897 382: merit_to_energy(382, 7.08437712399), 

2898 383: merit_to_energy(383, 7.07480466866), 

2899 384: merit_to_energy(384, 7.08923076923), 

2900 385: merit_to_energy(385, 7.24887519562), 

2901 386: merit_to_energy(386, 7.1296774811), 

2902 387: merit_to_energy(387, 7.19974040958), 

2903 388: merit_to_energy(388, 7.06248827172), 

2904 389: merit_to_energy(389, 7.39305256987), 

2905 390: merit_to_energy(390, 7.27403156385), 

2906 391: merit_to_energy(391, 7.16070257611), 

2907 392: merit_to_energy(392, 7.1832460733), 

2908 393: merit_to_energy(393, 7.19304210134), 

2909 394: merit_to_energy(394, 7.22095078612), 

2910 395: merit_to_energy(395, 7.23610982284), 

2911 396: merit_to_energy(396, 7.15270935961), 

2912 397: merit_to_energy(397, 7.19675799087), 

2913 398: merit_to_energy(398, 7.12056099973), 

2914 399: merit_to_energy(399, 7.23180703189), 

2915 400: merit_to_energy(400, 7.10479573712), 

2916 401: merit_to_energy(401, 7.01820006983), 

2917 402: merit_to_energy(402, 7.05755961219), 

2918 403: merit_to_energy(403, 7.10264147643), 

2919 404: merit_to_energy(404, 7.02911283376), 

2920 405: merit_to_energy(405, 7.09082656061), 

2921 406: merit_to_energy(406, 7.03765690377), 

2922 407: merit_to_energy(407, 7.11856467555), 

2923 408: merit_to_energy(408, 7.1801242236), 

2924 409: merit_to_energy(409, 7.24285590578), 

2925 410: merit_to_energy(410, 7.0767028711), 

2926 411: merit_to_energy(411, 7.13047699451), 

2927 412: merit_to_energy(412, 7.01537444206), 

2928 413: merit_to_energy(413, 7.02855612329), 

2929 414: merit_to_energy(414, 7.09714285714), 

2930 415: merit_to_energy(415, 7.25891427126), 

2931 416: merit_to_energy(416, 7.04855001629), 

2932 417: merit_to_energy(417, 7.22610538564), 

2933 418: merit_to_energy(418, 7.13683522588), 

2934 419: merit_to_energy(419, 7.05120893244), 

2935 420: merit_to_energy(420, 7.04585397028), 

2936 421: merit_to_energy(421, 7.25327385824), 

2937 422: merit_to_energy(422, 7.05842251288), 

2938 423: merit_to_energy(423, 7.17150300601), 

2939 424: merit_to_energy(424, 7.08448928121), 

2940 425: merit_to_energy(425, 7.0667057903), 

2941 426: merit_to_energy(426, 7.05528341498), 

2942 427: merit_to_energy(427, 7.22782050266), 

2943 428: merit_to_energy(428, 7.13889321902), 

2944 429: merit_to_energy(429, 7.05354131535), 

2945 430: merit_to_energy(430, 7.0021964705), 

2946 431: merit_to_energy(431, 7.08849118522), 

2947 432: merit_to_energy(432, 7.04560555723), 

2948 433: merit_to_energy(433, 7.05482390126), 

2949 434: merit_to_energy(434, 7.06140811277), 

2950 435: merit_to_energy(435, 7.06854688084), 

2951 436: merit_to_energy(436, 7.07307635065), 

2952 437: merit_to_energy(437, 7.07816901408), 

2953 438: merit_to_energy(438, 7.01645819618), 

2954 439: merit_to_energy(439, 7.07544606799), 

2955 440: merit_to_energy(440, 7.16400236827), 

2956 441: merit_to_energy(441, 7.25458818263), 

2957 442: merit_to_energy(442, 7.07994491556), 

2958 443: merit_to_energy(443, 7.06694274397), 

2959 444: merit_to_energy(444, 7.07798362775), 

2960 445: merit_to_energy(445, 7.05317709075), 

2961 446: merit_to_energy(446, 7.12296784359), 

2962 447: merit_to_energy(447, 7.19410239793), 

2963 448: merit_to_energy(448, 7.168), 

2964 449: merit_to_energy(449, 7.1428925737), 

2965 450: merit_to_energy(450, 7.01517356059), 

2966 451: merit_to_energy(451, 7.17362629611), 

2967 452: merit_to_energy(452, 7.04399393187), 

2968 453: merit_to_energy(453, 7.04991754844), 

2969 454: merit_to_energy(454, 7.04381108605), 

2970 455: merit_to_energy(455, 7.10791045801), 

2971 456: merit_to_energy(456, 7.01159967629), 

2972 457: merit_to_energy(457, 7.01966254369), 

2973 458: merit_to_energy(458, 7.11884884273), 

2974 459: merit_to_energy(459, 7.25635461872), 

2975 460: merit_to_energy(460, 7.39549839228), 

2976 461: merit_to_energy(461, 7.53941393501), 

2977 462: merit_to_energy(462, 7.38509445713), 

2978 463: merit_to_energy(463, 7.25248663644), 

2979 464: merit_to_energy(464, 7.13467656416), 

2980 465: merit_to_energy(465, 7.08469855832), 

2981 466: merit_to_energy(466, 7.09057663423), 

2982 467: merit_to_energy(467, 7.0075509286), 

2983 468: merit_to_energy(468, 7.16795392067), 

2984 469: merit_to_energy(469, 7.3743127263), 

2985 470: merit_to_energy(470, 7.25165780316), 

2986 471: merit_to_energy(471, 7.12719270064), 

2987 472: merit_to_energy(472, 7.07340614681), 

2988 473: merit_to_energy(473, 7.38087226181), 

2989 474: merit_to_energy(474, 7.31129189717), 

2990 475: merit_to_energy(475, 7.24410839273), 

2991 476: merit_to_energy(476, 7.07430997877), 

2992 477: merit_to_energy(477, 7.27859884837), 

2993 478: merit_to_energy(478, 7.18548336373), 

2994 479: merit_to_energy(479, 7.12063186643), 

2995 480: merit_to_energy(480, 7.05882352941), 

2996 481: merit_to_energy(481, 7.26636306533), 

2997 482: merit_to_energy(482, 7.15944530046), 

2998 483: merit_to_energy(483, 7.17503229378), 

2999 484: merit_to_energy(484, 7.08406919076), 

3000 485: merit_to_energy(485, 7.11165195308), 

3001 486: merit_to_energy(486, 7.14230420321), 

3002 487: merit_to_energy(487, 7.19784522003), 

3003 488: merit_to_energy(488, 7.19033816425), 

3004 489: merit_to_energy(489, 7.20070464948), 

3005 490: merit_to_energy(490, 7.09305760709), 

3006 491: merit_to_energy(491, 7.08519955328), 

3007 492: merit_to_energy(492, 7.07045215563), 

3008 493: merit_to_energy(493, 7.0810220254), 

3009 494: merit_to_energy(494, 7.07637882039), 

3010 495: merit_to_energy(495, 7.01233472612), 

3011 496: merit_to_energy(496, 7.01459854015), 

3012 497: merit_to_energy(497, 7.01730113636), 

3013 498: merit_to_energy(498, 7.00378424174), 

3014 499: merit_to_energy(499, 7.16797167367), 

3015 500: merit_to_energy(500, 7.04542892571), 

3016 501: merit_to_energy(501, 7.16572456321), 

3017 502: merit_to_energy(502, 7.27872451043), 

3018 503: merit_to_energy(503, 7.39489682586), 

3019 504: merit_to_energy(504, 7.21964529332), 

3020 505: merit_to_energy(505, 7.09980512249), 

3021 506: merit_to_energy(506, 7.05994595489), 

3022 507: merit_to_energy(507, 7.23144657627), 

3023 508: merit_to_energy(508, 7.10293955741), 

3024 509: merit_to_energy(509, 7.03489193005), 

3025 510: merit_to_energy(510, 7.00889248181), 

3026 511: merit_to_energy(511, 7.22166602135), 

3027 512: merit_to_energy(512, 7.09417622862), 

3028 513: merit_to_energy(513, 7.11729229771), 

3029 514: merit_to_energy(514, 7.02014136153), 

3030 515: merit_to_energy(515, 7.00874689498), 

3031 516: merit_to_energy(516, 7.01190350785), 

3032 517: merit_to_energy(517, 7.12922756855), 

3033 518: merit_to_energy(518, 7.20719849584), 

3034 519: merit_to_energy(519, 7.18717647687), 

3035 520: merit_to_energy(520, 7.0607896386), 

3036 521: merit_to_energy(521, 7.01760599793), 

3037 522: merit_to_energy(522, 7.06759350521), 

3038 523: merit_to_energy(523, 7.11833133816), 

3039 524: merit_to_energy(524, 7.08181161663), 

3040 525: merit_to_energy(525, 7.04634931997), 

3041 526: merit_to_energy(526, 7.0340163726), 

3042 527: merit_to_energy(527, 7.08239404294), 

3043 573: merit_to_energy(573, 6.82937432399), 

3044 1006: merit_to_energy(1006, 6.35677047348), 

3045 1007: merit_to_energy(1007, 6.41941303825), 

3046 1008: merit_to_energy(1008, 6.4181110718), 

3047 1009: merit_to_energy(1009, 6.41690827959), 

3048 1010: merit_to_energy(1010, 6.3672679608), 

3049 }, 

3050 ("BHB2024PSAWALABSP", 

3051 ("Borko Bošković, Jana Herzog, and Janez Brest. Parallel Self-Avoiding " 

3052 "Walks for a Low-Autocorrelation Binary Sequences Problem. Journal of " 

3053 "Computational Science 77(102260). 2024. " 

3054 "doi:10.1016/j.jocs.2024.102260")): { 

3055 171: 1669, 185: 1932, 193: 2040, 197: 2162, 199: 2187, 219: 2605, 

3056 223: 2727, 225: 2768, 229: 2810, 231: 2963, 235: 2965, 237: 3118, 

3057 239: 3055, 241: 3216, 243: 3233, 245: 3226, 247: 3259, 

3058 }, 

3059 ("PMBB2025DSOFBSWHMF", 

3060 ("Blaž Pšeničnik, Rene Mlinarič, Janez Brest, and Borko Bošković. " 

3061 "Dual-Step Optimization for Binary Sequences with High Merit Factors. " 

3062 "Digital Signal Processing 165(1053). October 2025. " 

3063 "doi:10.1016/j.dsp.2025.105316.")): { 

3064 450: merit_to_energy(450, 7.023), 451: merit_to_energy(451, 7.2307), 

3065 452: merit_to_energy(452, 7.3459), 453: merit_to_energy(453, 7.6926), 

3066 454: merit_to_energy(454, 7.7377), 455: merit_to_energy(455, 7.7835), 

3067 456: merit_to_energy(456, 7.629), 457: merit_to_energy(457, 7.5082), 

3068 458: merit_to_energy(458, 7.4295), 459: merit_to_energy(459, 7.4199), 

3069 460: merit_to_energy(460, 7.5302), 461: merit_to_energy(461, 7.6435), 

3070 462: merit_to_energy(462, 7.5098), 463: merit_to_energy(463, 7.3885), 

3071 464: merit_to_energy(464, 7.2617), 465: merit_to_energy(465, 7.3807), 

3072 466: merit_to_energy(466, 7.412), 467: merit_to_energy(467, 7.4114), 

3073 468: merit_to_energy(468, 7.508), 469: merit_to_energy(469, 7.5195), 

3074 470: merit_to_energy(470, 7.4836), 471: merit_to_energy(471, 7.5543), 

3075 472: merit_to_energy(472, 7.3828), 473: merit_to_energy(473, 7.4916), 

3076 474: merit_to_energy(474, 7.4273), 475: merit_to_energy(475, 7.3748), 

3077 476: merit_to_energy(476, 7.3004), 477: merit_to_energy(477, 7.2973), 

3078 478: merit_to_energy(478, 7.2956), 479: merit_to_energy(479, 7.4152), 

3079 480: merit_to_energy(480, 7.3922), 481: merit_to_energy(481, 7.3701), 

3080 482: merit_to_energy(482, 7.4154), 483: merit_to_energy(483, 7.4691), 

3081 484: merit_to_energy(484, 7.3842), 485: merit_to_energy(485, 7.3024), 

3082 486: merit_to_energy(486, 7.3266), 487: merit_to_energy(487, 7.4455), 

3083 488: merit_to_energy(488, 7.4271), 489: merit_to_energy(489, 7.569), 

3084 490: merit_to_energy(490, 7.4229), 491: merit_to_energy(491, 7.5239), 

3085 492: merit_to_energy(492, 7.6496), 493: merit_to_energy(493, 7.7791), 

3086 494: merit_to_energy(494, 7.6247), 495: merit_to_energy(495, 7.478), 

3087 496: merit_to_energy(496, 7.2941), 497: merit_to_energy(497, 7.3236), 

3088 498: merit_to_energy(498, 7.3007), 499: merit_to_energy(499, 7.356), 

3089 500: merit_to_energy(500, 7.3417), 501: merit_to_energy(501, 7.4059), 

3090 502: merit_to_energy(502, 7.3949), 503: merit_to_energy(503, 7.4471), 

3091 504: merit_to_energy(504, 7.3688), 505: merit_to_energy(505, 7.5025), 

3092 506: merit_to_energy(506, 7.3995), 507: merit_to_energy(507, 7.3371), 

3093 508: merit_to_energy(508, 7.2908), 509: merit_to_energy(509, 7.4629), 

3094 510: merit_to_energy(510, 7.3115), 511: merit_to_energy(511, 7.2992), 

3095 512: merit_to_energy(512, 7.2834), 513: merit_to_energy(513, 7.2046), 

3096 514: merit_to_energy(514, 7.2386), 515: merit_to_energy(515, 7.2605), 

3097 516: merit_to_energy(516, 7.186), 517: merit_to_energy(517, 7.3198), 

3098 518: merit_to_energy(518, 7.2072), 519: merit_to_energy(519, 7.2867), 

3099 520: merit_to_energy(520, 7.2377), 521: merit_to_energy(521, 7.1901), 

3100 522: merit_to_energy(522, 7.2358), 523: merit_to_energy(523, 7.2297), 

3101 524: merit_to_energy(524, 7.1393), 525: merit_to_energy(525, 7.2786), 

3102 526: merit_to_energy(526, 7.2341), 527: merit_to_energy(527, 7.1791), 

3103 573: merit_to_energy(573, 7.021), 

3104 }, 

3105} 

3106 

3107 

3108def __make_bkses() -> dict[int, tuple[int, tuple[str, str]]]: 

3109 """Make the BKSes.""" 

3110 d: Final[dict[int, tuple[int, tuple[str, str]]]] = {} 

3111 for citation, data in __RELATED_WORKS.items(): 

3112 for n, ener in data.items(): 

3113 # We sanity check the BKSes, too. 

3114 if ((n in _LBS) and (ener < _LBS[n])) or (ener < (n // 2)): 

3115 raise ValueError("Invalid BKS!") 

3116 if (n not in d) or (d[n][0] > ener): 

3117 d[n] = ener, citation 

3118 return d 

3119 

3120 

3121#: The internal lookup table for best-known solutions 

3122_BKS: Final[dict[int, tuple[int, tuple[str, str]]]] = __make_bkses() 

3123del __make_bkses 

3124 

3125 

3126def get_bks(n: int) -> tuple[int, tuple[str, str]] | None: 

3127 """ 

3128 Get the best currently known solution for the given dimension `n`. 

3129 

3130 :param n: the dimension 

3131 :returns: a tuple of the energy value and a tuple of a citation. If 

3132 no solution is found in literature, then `None` is returned 

3133 

3134 >>> try: 

3135 ... get_bks(-1) 

3136 ... except ValueError as ve: 

3137 ... print(ve) 

3138 n=-1 is invalid, must be in 3..1000000000. 

3139 

3140 >>> get_bks(20)[0] 

3141 26 

3142 

3143 >>> get_bks(401)[0] 

3144 11456 

3145 >>> get_bks(401)[1][0] 

3146 'D2022NCOBSWHMF' 

3147 

3148 >>> print(get_bks(10000)) 

3149 None 

3150 """ 

3151 n = check_int_range(n, "n", 3) 

3152 if n in _BKS: 

3153 return _BKS[n] 

3154 return None 

3155 

3156 

3157def get_bks_references() -> tuple[tuple[str, str], ...]: 

3158 """ 

3159 Get all the BKS references. 

3160 

3161 This function returns the sources from which :func:`get_bks` draws 

3162 its data. 

3163 

3164 :returns: a tuple with the references 

3165 

3166 >>> sorted(set(t[0] for t in get_bks_references())) 

3167 ['BB2018AHAFALABSPWOLAHMF', 'BB2022CSOLSSBSWHMF', 'BBB2016AGAFSASOTLP', \ 

3168'BBB2017LABSOIMFARPTAT', 'BHB2024PSAWALABSP', 'D2021OTSSBSATMFP', \ 

3169'D2022NCOBSWHMF', 'DBN2020EGOLABS', 'GCF2007AMAFTLABSP', \ 

3170'HYH2008ESLSFTLABSP', 'KD2004MFR', 'M1996ESFLABS', 'MD2015NESFLLABS', \ 

3171'MZB1998ESFLABS', 'P2013IBABFLABS', 'PM2016LABS', 'PMBB2025DSOFBSWHMF'] 

3172 """ 

3173 return tuple(__RELATED_WORKS.keys()) 

3174 

3175 

3176def is_labs_objective_value_optimal(n: int, f: int) -> bool | None: 

3177 """ 

3178 Check whether a given objective value is optimal on the LABS problem. 

3179 

3180 We use the lower and upper bound of the LABS problem to check whether a 

3181 given objective value can be optimal. We also use the objective values of 

3182 the known global optima from 

3183 

3184 Tom Packebusch and Stephan Mertens. Low Autocorrelation Binary Sequences. 

3185 arXiv:1512.02475v2 [cond-mat.stat-mech] 24 Mar 2016 

3186 https://arxiv.org/pdf/1512.02475 

3187 

3188 :param n: the scale of the problem 

3189 :param f: the objective value 

3190 :returns: `True` if the objective value `f` is optimal, `False` if it 

3191 cannot be optimal, and `None` if the situation is unclear 

3192 :raises TypeError: if `n` or `f` are not integers 

3193 :raises ValueError: if `n` or `f` are invalid integer values 

3194 

3195 >>> print(is_labs_objective_value_optimal(49, 136)) 

3196 True 

3197 

3198 >>> print(is_labs_objective_value_optimal(49, 137)) 

3199 False 

3200 

3201 >>> print(is_labs_objective_value_optimal(100, 50)) 

3202 True 

3203 

3204 >>> print(is_labs_objective_value_optimal(100, 51)) 

3205 None 

3206 

3207 >>> try: 

3208 ... is_labs_objective_value_optimal("x", 3) 

3209 ... except TypeError as te: 

3210 ... print(te) 

3211 n should be an instance of int but is str, namely 'x'. 

3212 

3213 >>> try: 

3214 ... is_labs_objective_value_optimal(7, "3") 

3215 ... except TypeError as te: 

3216 ... print(te) 

3217 f should be an instance of int but is str, namely '3'. 

3218 

3219 >>> try: 

3220 ... is_labs_objective_value_optimal(0, 0) 

3221 ... except ValueError as ve: 

3222 ... print(ve) 

3223 n=0 is invalid, must be in 3..1000000000. 

3224 

3225 >>> try: 

3226 ... is_labs_objective_value_optimal(3, 0) 

3227 ... except ValueError as ve: 

3228 ... print(ve) 

3229 f=0 is invalid, must be in 1..5. 

3230 

3231 >>> try: 

3232 ... is_labs_objective_value_optimal(3, 234240) 

3233 ... except ValueError as ve: 

3234 ... print(ve) 

3235 f=234240 is invalid, must be in 1..5. 

3236 """ 

3237 check_int_range(n, "n", 3) 

3238 lb: int = n // 2 

3239 ub: int = ((n - 1) * n * (2 * n - 1)) // 6 

3240 if check_int_range(f, "f", lb, ub) <= lb: 

3241 return True 

3242 if n in _LBS: # We know the optimum, so if it is not it, we can stop. 

3243 lb = _LBS[n] 

3244 return check_int_range(f, "f", lb) <= lb 

3245 if f >= ub: 

3246 return False 

3247 return None 

3248 

3249 

3250class LABS(BitStringProblem): 

3251 """The Low-Autocorrelation Sequence Problem.""" 

3252 

3253 def __init__(self, n: int) -> None: 

3254 """ 

3255 Initialize the LABS objective function. 

3256 

3257 :param n: the dimension of the problem 

3258 """ 

3259 super().__init__(check_int_range(n, "n", 3)) 

3260 self.evaluate = labs # type: ignore 

3261 

3262 def lower_bound(self) -> int: 

3263 """ 

3264 Get the lower bound of the LABS problem. 

3265 

3266 The minimum amount of energy that a sequence could possibly have. 

3267 For each correlation length `k`, this is `(n - k) % 2`. 

3268 In total, this is just equivalent to `n // 2`. 

3269 

3270 For some instances of :class:`LABS`, the global optima are known. 

3271 For these instances, we return the objective values of these optima, 

3272 which obviously are `>= n // 2`. 

3273 

3274 :return: the lower bound of the :class:`LABS` problem 

3275 

3276 >>> LABS(16).lower_bound() 

3277 24 

3278 

3279 >>> LABS(61).lower_bound() 

3280 226 

3281 

3282 >>> LABS(200).lower_bound() 

3283 100 

3284 

3285 >>> LABS(124200).lower_bound() 

3286 62100 

3287 """ 

3288 n: Final[int] = self.n 

3289 if n in _LBS: 

3290 return _LBS[n] 

3291 return n // 2 

3292 

3293 def upper_bound(self) -> int: 

3294 """ 

3295 Get the upper bound of the :class:`LABS` problem. 

3296 

3297 The energy of a sequence where all bits are the same is the highest. 

3298 This means that each correlation basically produces its length to the 

3299 square as contribution to the result. The upper bound then is the sum 

3300 of all of these squares from `1..(n-1)`. 

3301 

3302 :return: the upper bound of LABS 

3303 

3304 >>> LABS(16).upper_bound() 

3305 1240 

3306 

3307 >>> LABS(63).upper_bound() 

3308 81375 

3309 

3310 >>> LABS(200).upper_bound() 

3311 2646700 

3312 

3313 >>> LABS(12316).upper_bound() 

3314 622636950290 

3315 """ 

3316 return ((self.n - 1) * self.n * (2 * self.n - 1)) // 6 

3317 

3318 def __str__(self) -> str: 

3319 """ 

3320 Get the name of the LABS objective function. 

3321 

3322 :return: labs_ + length of string 

3323 

3324 >>> LABS(16) 

3325 labs_16 

3326 """ 

3327 return f"labs_{self.n}" 

3328 

3329 @classmethod 

3330 def default_instances( 

3331 cls: type, scale_min: int = 3, 

3332 scale_max: int = min(1024, max(_BKS.keys()))) \ 

3333 -> Iterator[Callable[[], "LABS"]]: 

3334 """ 

3335 Get the default instances of the :class:`LABS` problem. 

3336 

3337 :param scale_min: the minimum permitted scale, by default `3` 

3338 :param scale_max: the maximum permitted scale, by default `625` 

3339 :returns: a sequence of default :class:`LABS` instances 

3340 

3341 >>> len(list(LABS.default_instances())) 

3342 96 

3343 

3344 >>> [x() for x in LABS.default_instances()] 

3345 [labs_3, labs_4, labs_5, labs_6, labs_7, labs_8, labs_9, labs_10, \ 

3346labs_11, labs_12, labs_13, labs_14, labs_15, labs_16, labs_17, labs_18, \ 

3347labs_19, labs_20, labs_21, labs_22, labs_23, labs_24, labs_25, labs_26, \ 

3348labs_27, labs_28, labs_29, labs_30, labs_31, labs_32, labs_33, labs_36, \ 

3349labs_40, labs_41, labs_42, labs_44, labs_48, labs_49, labs_50, labs_55, \ 

3350labs_59, labs_60, labs_64, labs_66, labs_70, labs_77, labs_79, labs_80, \ 

3351labs_81, labs_85, labs_88, labs_90, labs_96, labs_99, labs_100, labs_107, \ 

3352labs_111, labs_121, labs_125, labs_128, labs_144, labs_149, labs_169, \ 

3353labs_170, labs_192, labs_196, labs_199, labs_200, labs_222, labs_225, \ 

3354labs_243, labs_256, labs_269, labs_289, labs_300, labs_324, labs_333, \ 

3355labs_341, labs_343, labs_359, labs_361, labs_384, labs_400, labs_441, \ 

3356labs_444, labs_479, labs_484, labs_500, labs_512, labs_600, labs_625, \ 

3357labs_700, labs_800, labs_900, labs_1000, labs_1024] 

3358 """ 

3359 check_int_range(scale_max, "scale_max", check_int_range( 

3360 scale_min, "scale_min", 1, 1_000_000_000) + 1, 1_000_000_000) 

3361 return (cast("Callable[[], LABS]", lambda __i=i: cls(__i)) 

3362 for i in merge_sorted_and_return_unique(( 

3363 16, 64, 100, 625), (k for k in default_scale_sequence( 

3364 scale_min, scale_max) if k in _BKS)) 

3365 if scale_min <= i <= scale_max)