usage: MOLS.py [-h] [--size SIZE] [--seed SEED] [--normalize] [--mode [MODE]]
               [--randomize] [--all-solutions] [--solver SOLVER] [-v]
               [--MOLS3] [--first [FIRST]] [--proof]

options:
  -h, --help       show this help message and exit
  --size SIZE      ... or order. Default=8
  --seed SEED      Seed. Default=random
  --normalize      Normalize/reduce (before search). Default=false
  --mode [MODE]    Can be enum/restart. Default=enum
  --randomize      Randomize LS before search (in 'restart' mode).
                   Default=false
  --all-solutions  Produce all possible solutions. Default=false
  --solver SOLVER  Set SAT solver. Supported: libcadical kissat gimsatul
                   minisat plingeling picosat libpicosat
  -v               Increase verbosity. May be -vv, -vvv, -vvvv
  --MOLS3          Find also 3-MOLS. Default=false
  --first [FIRST]  Set first square (in short form)
  --proof          Generate proof (during exact cover stage). Default=false

Setting seed 1270051792
Setting size 12
Setting mode restart
Normalize mode
Setting solver kissat
get_all_solutions_start_afresh() start
randomize. random_cells= 22
randomize. fixed_vals:
0 1 2 3 4 5 6 7 8 9 a b 
1 . . . . . 9 . . . . 5 
2 . . . . . . . 9 5 . 4 
3 . . 7 . 2 . . . . . 9 
4 . . . . . . 0 . . . 6 
5 . . . . . 3 . . . . . 
6 . . 5 . . . . . . . . 
7 b . . 9 4 . . . . . . 
8 6 . . . . . . . . . 1 
9 . . . . . . . . . . 0 
a . . . . b . . 3 . . . 
b . . . . . 2 . . . . . 
SAT
*** Solution
0 1 2 3 4 5 6 7 8 9 a b 
1 2 6 8 0 7 9 3 a b 4 5 
2 a 8 0 6 3 1 b 9 5 7 4 
3 0 a 7 5 2 4 8 1 6 b 9 
4 9 3 1 2 a 5 0 b 7 8 6 
5 7 0 b 1 8 3 9 2 4 6 a 
6 3 b 5 a 1 0 2 4 8 9 7 
7 b 1 2 9 4 a 6 0 3 5 8 
8 6 4 9 b 0 7 a 5 2 3 1 
9 8 5 4 3 6 b 1 7 a 2 0 
a 4 9 6 7 b 8 5 3 0 1 2 
b 5 7 a 8 9 2 4 6 1 0 3 
Short form: 0123456789ab12680793ab452a80631b957430a7524816b949312a50b786570b1839246a63b5a10248977b1294a603588649b07a5231985436b17a20a4967b853012b57a89246103
transversals_total 15892
Going to solve exact cover problem
transversals_set_i 0
[31m0[0m [32m1[0m [33m2[0m [34m3[0m [35m4[0m [36m5[0m [37m6[0m [90m7[0m [91m8[0m [92m9[0m [93ma[0m [94mb[0m 
[93m1[0m [36m2[0m [34m6[0m [94m8[0m [92m0[0m [31m7[0m [32m9[0m [37m3[0m [35ma[0m [33mb[0m [90m4[0m [91m5[0m 
[37m2[0m [34ma[0m [92m8[0m [33m0[0m [91m6[0m [94m3[0m [90m1[0m [32mb[0m [31m9[0m [35m5[0m [36m7[0m [93m4[0m 
[91m3[0m [94m0[0m [31ma[0m [93m7[0m [32m5[0m [35m2[0m [92m4[0m [36m8[0m [33m1[0m [90m6[0m [37mb[0m [34m9[0m 
[33m4[0m [93m9[0m [32m3[0m [35m1[0m [34m2[0m [92ma[0m [94m5[0m [91m0[0m [90mb[0m [37m7[0m [31m8[0m [36m6[0m 
[90m5[0m [91m7[0m [93m0[0m [92mb[0m [31m1[0m [34m8[0m [33m3[0m [35m9[0m [32m2[0m [36m4[0m [94m6[0m [37ma[0m 
[35m6[0m [92m3[0m [91mb[0m [31m5[0m [90ma[0m [37m1[0m [36m0[0m [94m2[0m [34m4[0m [93m8[0m [33m9[0m [32m7[0m 
[92m7[0m [35mb[0m [36m1[0m [90m2[0m [94m9[0m [32m4[0m [91ma[0m [93m6[0m [37m0[0m [31m3[0m [34m5[0m [33m8[0m 
[32m8[0m [31m6[0m [94m4[0m [37m9[0m [36mb[0m [90m0[0m [34m7[0m [33ma[0m [93m5[0m [91m2[0m [35m3[0m [92m1[0m 
[36m9[0m [90m8[0m [37m5[0m [91m4[0m [93m3[0m [33m6[0m [31mb[0m [34m1[0m [94m7[0m [32ma[0m [92m2[0m [35m0[0m 
[94ma[0m [37m4[0m [90m9[0m [32m6[0m [33m7[0m [93mb[0m [35m8[0m [92m5[0m [36m3[0m [34m0[0m [91m1[0m [31m2[0m 
[34mb[0m [33m5[0m [35m7[0m [36ma[0m [37m8[0m [91m9[0m [93m2[0m [31m4[0m [92m6[0m [94m1[0m [32m0[0m [90m3[0m 
*** find_mate_for_square_with_transversals()
find_mate_for_square_with_transversals() (SAT)
First:
0 1 2 3 4 5 6 7 8 9 a b 
1 2 6 8 0 7 9 3 a b 4 5 
2 a 8 0 6 3 1 b 9 5 7 4 
3 0 a 7 5 2 4 8 1 6 b 9 
4 9 3 1 2 a 5 0 b 7 8 6 
5 7 0 b 1 8 3 9 2 4 6 a 
6 3 b 5 a 1 0 2 4 8 9 7 
7 b 1 2 9 4 a 6 0 3 5 8 
8 6 4 9 b 0 7 a 5 2 3 1 
9 8 5 4 3 6 b 1 7 a 2 0 
a 4 9 6 7 b 8 5 3 0 1 2 
b 5 7 a 8 9 2 4 6 1 0 3 
Short form: 0123456789ab12680793ab452a80631b957430a7524816b949312a50b786570b1839246a63b5a10248977b1294a603588649b07a5231985436b17a20a4967b853012b57a89246103

Mate:
0 8 4 b 6 9 2 5 3 7 1 a 
1 9 b a 7 0 8 2 6 4 5 3 
2 b 7 4 3 a 5 8 0 6 9 1 
3 a 0 1 8 6 7 9 4 5 2 b 
4 1 8 6 b 7 a 3 5 2 0 9 
5 3 1 7 0 b 4 6 8 9 a 2 
6 7 3 0 5 2 9 a b 1 4 8 
7 6 9 5 a 8 3 1 2 0 b 4 
8 0 a 2 9 5 b 4 1 3 6 7 
9 5 2 3 1 4 0 b a 8 7 6 
a 2 5 8 4 1 6 7 9 b 3 0 
b 4 6 9 2 3 1 0 7 a 8 5 
Short form: 084b6925371a19ba708264532b743a5806913a018679452b4186b7a3520953170b4689a26730529ab1487695a83120b480a295b413679523140ba876a25841679b30b46923107a85

Concatenated:
00 18 24 3b 46 59 62 75 83 97 a1 ba 
11 29 6b 8a 07 70 98 32 a6 b4 45 53 
22 ab 87 04 63 3a 15 b8 90 56 79 41 
33 0a a0 71 58 26 47 89 14 65 b2 9b 
44 91 38 16 2b a7 5a 03 b5 72 80 69 
55 73 01 b7 10 8b 34 96 28 49 6a a2 
66 37 b3 50 a5 12 09 2a 4b 81 94 78 
77 b6 19 25 9a 48 a3 61 02 30 5b 84 
88 60 4a 92 b9 05 7b a4 51 23 36 17 
99 85 52 43 31 64 b0 1b 7a a8 27 06 
aa 42 95 68 74 b1 86 57 39 0b 13 20 
bb 54 76 a9 82 93 21 40 67 1a 08 35 

['./MOLS.py', '--normalize', '--mode', 'restart', '--all-solutions', '--randomize', '--size', '12']
['/home/i/dotfiles/bin/my_time.py', './MOLS.py', '--normalize', '--mode', 'restart', '--all-solutions', '--randomize', '--size', '12']
seconds:  1102
or:  18m22s
