Files
ortools-clone/examples/flatzinc/hidato_table.fzn

737 lines
49 KiB
MiniZinc

predicate fzn_all_different_int(array [int] of var int: x);
predicate count(array [int] of var int: x, var int: y, var int: c);
predicate fixed_fzn_cumulative(array [int] of var int: s, array [int] of int: d, array [int] of int: r, int: b);
predicate global_cardinality(array [int] of var int: x, array [int] of int: cover, array [int] of var int: counts);
predicate maximum_int(var int: m, array [int] of var int: x);
predicate minimum_int(var int: m, array [int] of var int: x);
predicate sliding_sum(int: low, int: up, int: seq, array [int] of var int: vs);
predicate sort(array [int] of var int: x, array [int] of var int: y);
predicate table_bool(array [int] of var bool: x, array [int, int] of bool: t);
predicate table_int(array [int] of var int: x, array [int, int] of int: t);
predicate var_fzn_cumulative(array [int] of var int: s, array [int] of int: d, array [int] of int: r, var int: b);
array [1..64] of int: puzzle = [64, 0, 0, 0, 0, 0, 0, 0, 1, 63, 0, 59, 15, 57, 53, 0, 0, 4, 0, 14, 0, 0, 0, 0, 3, 0, 11, 0, 20, 19, 0, 50, 0, 0, 0, 0, 22, 0, 48, 40, 9, 0, 0, 32, 23, 0, 0, 41, 27, 0, 0, 0, 36, 0, 46, 0, 28, 30, 0, 35, 0, 0, 0, 0];
array [1..1680] of int: valid_connections2 = [1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 2, 1, 3, 1, 2, 2, 1, 1, 2, 2, 2, 1, 2, 2, 3, 1, 3, 1, 2, 1, 3, 1, 4, 1, 3, 2, 2, 1, 3, 2, 3, 1, 3, 2, 4, 1, 4, 1, 3, 1, 4, 1, 5, 1, 4, 2, 3, 1, 4, 2, 4, 1, 4, 2, 5, 1, 5, 1, 4, 1, 5, 1, 6, 1, 5, 2, 4, 1, 5, 2, 5, 1, 5, 2, 6, 1, 6, 1, 5, 1, 6, 1, 7, 1, 6, 2, 5, 1, 6, 2, 6, 1, 6, 2, 7, 1, 7, 1, 6, 1, 7, 1, 8, 1, 7, 2, 6, 1, 7, 2, 7, 1, 7, 2, 8, 1, 8, 1, 7, 1, 8, 2, 7, 1, 8, 2, 8, 2, 1, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, 2, 1, 3, 1, 2, 1, 3, 2, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 1, 3, 2, 2, 2, 1, 2, 2, 2, 3, 2, 2, 3, 1, 2, 2, 3, 2, 2, 2, 3, 3, 2, 3, 1, 2, 2, 3, 1, 3, 2, 3, 1, 4, 2, 3, 2, 2, 2, 3, 2, 4, 2, 3, 3, 2, 2, 3, 3, 3, 2, 3, 3, 4, 2, 4, 1, 3, 2, 4, 1, 4, 2, 4, 1, 5, 2, 4, 2, 3, 2, 4, 2, 5, 2, 4, 3, 3, 2, 4, 3, 4, 2, 4, 3, 5, 2, 5, 1, 4, 2, 5, 1, 5, 2, 5, 1, 6, 2, 5, 2, 4, 2, 5, 2, 6, 2, 5, 3, 4, 2, 5, 3, 5, 2, 5, 3, 6, 2, 6, 1, 5, 2, 6, 1, 6, 2, 6, 1, 7, 2, 6, 2, 5, 2, 6, 2, 7, 2, 6, 3, 5, 2, 6, 3, 6, 2, 6, 3, 7, 2, 7, 1, 6, 2, 7, 1, 7, 2, 7, 1, 8, 2, 7, 2, 6, 2, 7, 2, 8, 2, 7, 3, 6, 2, 7, 3, 7, 2, 7, 3, 8, 2, 8, 1, 7, 2, 8, 1, 8, 2, 8, 2, 7, 2, 8, 3, 7, 2, 8, 3, 8, 3, 1, 2, 1, 3, 1, 2, 2, 3, 1, 3, 2, 3, 1, 4, 1, 3, 1, 4, 2, 3, 2, 2, 1, 3, 2, 2, 2, 3, 2, 2, 3, 3, 2, 3, 1, 3, 2, 3, 3, 3, 2, 4, 1, 3, 2, 4, 2, 3, 2, 4, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3, 3, 2, 4, 3, 3, 3, 2, 3, 3, 3, 4, 3, 3, 4, 2, 3, 3, 4, 3, 3, 3, 4, 4, 3, 4, 2, 3, 3, 4, 2, 4, 3, 4, 2, 5, 3, 4, 3, 3, 3, 4, 3, 5, 3, 4, 4, 3, 3, 4, 4, 4, 3, 4, 4, 5, 3, 5, 2, 4, 3, 5, 2, 5, 3, 5, 2, 6, 3, 5, 3, 4, 3, 5, 3, 6, 3, 5, 4, 4, 3, 5, 4, 5, 3, 5, 4, 6, 3, 6, 2, 5, 3, 6, 2, 6, 3, 6, 2, 7, 3, 6, 3, 5, 3, 6, 3, 7, 3, 6, 4, 5, 3, 6, 4, 6, 3, 6, 4, 7, 3, 7, 2, 6, 3, 7, 2, 7, 3, 7, 2, 8, 3, 7, 3, 6, 3, 7, 3, 8, 3, 7, 4, 6, 3, 7, 4, 7, 3, 7, 4, 8, 3, 8, 2, 7, 3, 8, 2, 8, 3, 8, 3, 7, 3, 8, 4, 7, 3, 8, 4, 8, 4, 1, 3, 1, 4, 1, 3, 2, 4, 1, 4, 2, 4, 1, 5, 1, 4, 1, 5, 2, 4, 2, 3, 1, 4, 2, 3, 2, 4, 2, 3, 3, 4, 2, 4, 1, 4, 2, 4, 3, 4, 2, 5, 1, 4, 2, 5, 2, 4, 2, 5, 3, 4, 3, 3, 2, 4, 3, 3, 3, 4, 3, 3, 4, 4, 3, 4, 2, 4, 3, 4, 4, 4, 3, 5, 2, 4, 3, 5, 3, 4, 3, 5, 4, 4, 4, 3, 3, 4, 4, 3, 4, 4, 4, 3, 5, 4, 4, 4, 3, 4, 4, 4, 5, 4, 4, 5, 3, 4, 4, 5, 4, 4, 4, 5, 5, 4, 5, 3, 4, 4, 5, 3, 5, 4, 5, 3, 6, 4, 5, 4, 4, 4, 5, 4, 6, 4, 5, 5, 4, 4, 5, 5, 5, 4, 5, 5, 6, 4, 6, 3, 5, 4, 6, 3, 6, 4, 6, 3, 7, 4, 6, 4, 5, 4, 6, 4, 7, 4, 6, 5, 5, 4, 6, 5, 6, 4, 6, 5, 7, 4, 7, 3, 6, 4, 7, 3, 7, 4, 7, 3, 8, 4, 7, 4, 6, 4, 7, 4, 8, 4, 7, 5, 6, 4, 7, 5, 7, 4, 7, 5, 8, 4, 8, 3, 7, 4, 8, 3, 8, 4, 8, 4, 7, 4, 8, 5, 7, 4, 8, 5, 8, 5, 1, 4, 1, 5, 1, 4, 2, 5, 1, 5, 2, 5, 1, 6, 1, 5, 1, 6, 2, 5, 2, 4, 1, 5, 2, 4, 2, 5, 2, 4, 3, 5, 2, 5, 1, 5, 2, 5, 3, 5, 2, 6, 1, 5, 2, 6, 2, 5, 2, 6, 3, 5, 3, 4, 2, 5, 3, 4, 3, 5, 3, 4, 4, 5, 3, 5, 2, 5, 3, 5, 4, 5, 3, 6, 2, 5, 3, 6, 3, 5, 3, 6, 4, 5, 4, 4, 3, 5, 4, 4, 4, 5, 4, 4, 5, 5, 4, 5, 3, 5, 4, 5, 5, 5, 4, 6, 3, 5, 4, 6, 4, 5, 4, 6, 5, 5, 5, 4, 4, 5, 5, 4, 5, 5, 5, 4, 6, 5, 5, 5, 4, 5, 5, 5, 6, 5, 5, 6, 4, 5, 5, 6, 5, 5, 5, 6, 6, 5, 6, 4, 5, 5, 6, 4, 6, 5, 6, 4, 7, 5, 6, 5, 5, 5, 6, 5, 7, 5, 6, 6, 5, 5, 6, 6, 6, 5, 6, 6, 7, 5, 7, 4, 6, 5, 7, 4, 7, 5, 7, 4, 8, 5, 7, 5, 6, 5, 7, 5, 8, 5, 7, 6, 6, 5, 7, 6, 7, 5, 7, 6, 8, 5, 8, 4, 7, 5, 8, 4, 8, 5, 8, 5, 7, 5, 8, 6, 7, 5, 8, 6, 8, 6, 1, 5, 1, 6, 1, 5, 2, 6, 1, 6, 2, 6, 1, 7, 1, 6, 1, 7, 2, 6, 2, 5, 1, 6, 2, 5, 2, 6, 2, 5, 3, 6, 2, 6, 1, 6, 2, 6, 3, 6, 2, 7, 1, 6, 2, 7, 2, 6, 2, 7, 3, 6, 3, 5, 2, 6, 3, 5, 3, 6, 3, 5, 4, 6, 3, 6, 2, 6, 3, 6, 4, 6, 3, 7, 2, 6, 3, 7, 3, 6, 3, 7, 4, 6, 4, 5, 3, 6, 4, 5, 4, 6, 4, 5, 5, 6, 4, 6, 3, 6, 4, 6, 5, 6, 4, 7, 3, 6, 4, 7, 4, 6, 4, 7, 5, 6, 5, 5, 4, 6, 5, 5, 5, 6, 5, 5, 6, 6, 5, 6, 4, 6, 5, 6, 6, 6, 5, 7, 4, 6, 5, 7, 5, 6, 5, 7, 6, 6, 6, 5, 5, 6, 6, 5, 6, 6, 6, 5, 7, 6, 6, 6, 5, 6, 6, 6, 7, 6, 6, 7, 5, 6, 6, 7, 6, 6, 6, 7, 7, 6, 7, 5, 6, 6, 7, 5, 7, 6, 7, 5, 8, 6, 7, 6, 6, 6, 7, 6, 8, 6, 7, 7, 6, 6, 7, 7, 7, 6, 7, 7, 8, 6, 8, 5, 7, 6, 8, 5, 8, 6, 8, 6, 7, 6, 8, 7, 7, 6, 8, 7, 8, 7, 1, 6, 1, 7, 1, 6, 2, 7, 1, 7, 2, 7, 1, 8, 1, 7, 1, 8, 2, 7, 2, 6, 1, 7, 2, 6, 2, 7, 2, 6, 3, 7, 2, 7, 1, 7, 2, 7, 3, 7, 2, 8, 1, 7, 2, 8, 2, 7, 2, 8, 3, 7, 3, 6, 2, 7, 3, 6, 3, 7, 3, 6, 4, 7, 3, 7, 2, 7, 3, 7, 4, 7, 3, 8, 2, 7, 3, 8, 3, 7, 3, 8, 4, 7, 4, 6, 3, 7, 4, 6, 4, 7, 4, 6, 5, 7, 4, 7, 3, 7, 4, 7, 5, 7, 4, 8, 3, 7, 4, 8, 4, 7, 4, 8, 5, 7, 5, 6, 4, 7, 5, 6, 5, 7, 5, 6, 6, 7, 5, 7, 4, 7, 5, 7, 6, 7, 5, 8, 4, 7, 5, 8, 5, 7, 5, 8, 6, 7, 6, 6, 5, 7, 6, 6, 6, 7, 6, 6, 7, 7, 6, 7, 5, 7, 6, 7, 7, 7, 6, 8, 5, 7, 6, 8, 6, 7, 6, 8, 7, 7, 7, 6, 6, 7, 7, 6, 7, 7, 7, 6, 8, 7, 7, 7, 6, 7, 7, 7, 8, 7, 7, 8, 6, 7, 7, 8, 7, 7, 7, 8, 8, 7, 8, 6, 7, 7, 8, 6, 8, 7, 8, 7, 7, 7, 8, 8, 7, 7, 8, 8, 8, 8, 1, 7, 1, 8, 1, 7, 2, 8, 1, 8, 2, 8, 2, 7, 1, 8, 2, 7, 2, 8, 2, 7, 3, 8, 2, 8, 1, 8, 2, 8, 3, 8, 3, 7, 2, 8, 3, 7, 3, 8, 3, 7, 4, 8, 3, 8, 2, 8, 3, 8, 4, 8, 4, 7, 3, 8, 4, 7, 4, 8, 4, 7, 5, 8, 4, 8, 3, 8, 4, 8, 5, 8, 5, 7, 4, 8, 5, 7, 5, 8, 5, 7, 6, 8, 5, 8, 4, 8, 5, 8, 6, 8, 6, 7, 5, 8, 6, 7, 6, 8, 6, 7, 7, 8, 6, 8, 5, 8, 6, 8, 7, 8, 7, 7, 6, 8, 7, 7, 7, 8, 7, 7, 8, 8, 7, 8, 6, 8, 7, 8, 8, 8, 8, 7, 7, 8, 8, 7, 8, 8, 8, 8, 7];
var 1..64: INT____00005 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00007 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00013 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00015 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00021 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00023 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00029 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00031 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00037 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00039 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00045 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00047 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00053 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00055 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00061 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00063 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00069 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00071 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00077 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00079 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00085 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00087 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00093 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00095 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00101 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00103 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00109 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00111 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00117 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00119 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00125 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00127 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00133 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00135 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00141 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00143 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00149 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00151 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00157 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00159 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00165 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00167 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00173 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00175 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00181 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00183 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00189 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00191 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00197 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00199 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00205 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00207 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00213 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00215 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00221 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00223 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00229 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00231 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00237 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00239 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00245 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00247 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00253 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00255 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00261 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00263 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00269 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00271 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00277 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00279 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00285 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00287 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00293 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00295 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00301 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00303 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00309 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00311 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00317 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00319 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00325 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00327 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00333 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00335 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00341 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00343 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00349 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00351 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00357 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00359 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00365 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00367 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00373 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00375 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00381 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00383 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00389 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00391 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00397 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00399 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00405 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00407 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00413 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00415 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00421 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00423 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00429 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00431 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00437 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00439 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00445 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00447 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00453 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00455 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00461 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00463 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00469 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00471 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00477 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00479 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00485 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00487 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00493 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00495 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00501 :: is_defined_var :: var_is_introduced;
var 1..64: INT____00503 :: is_defined_var :: var_is_introduced;
var 1..8: i1____00001;
var 1..8: i1____00009;
var 1..8: i1____00017;
var 1..8: i1____00025;
var 1..8: i1____00033;
var 1..8: i1____00041;
var 1..8: i1____00049;
var 1..8: i1____00057;
var 1..8: i1____00065;
var 1..8: i1____00073;
var 1..8: i1____00081;
var 1..8: i1____00089;
var 1..8: i1____00097;
var 1..8: i1____00105;
var 1..8: i1____00113;
var 1..8: i1____00121;
var 1..8: i1____00129;
var 1..8: i1____00137;
var 1..8: i1____00145;
var 1..8: i1____00153;
var 1..8: i1____00161;
var 1..8: i1____00169;
var 1..8: i1____00177;
var 1..8: i1____00185;
var 1..8: i1____00193;
var 1..8: i1____00201;
var 1..8: i1____00209;
var 1..8: i1____00217;
var 1..8: i1____00225;
var 1..8: i1____00233;
var 1..8: i1____00241;
var 1..8: i1____00249;
var 1..8: i1____00257;
var 1..8: i1____00265;
var 1..8: i1____00273;
var 1..8: i1____00281;
var 1..8: i1____00289;
var 1..8: i1____00297;
var 1..8: i1____00305;
var 1..8: i1____00313;
var 1..8: i1____00321;
var 1..8: i1____00329;
var 1..8: i1____00337;
var 1..8: i1____00345;
var 1..8: i1____00353;
var 1..8: i1____00361;
var 1..8: i1____00369;
var 1..8: i1____00377;
var 1..8: i1____00385;
var 1..8: i1____00393;
var 1..8: i1____00401;
var 1..8: i1____00409;
var 1..8: i1____00417;
var 1..8: i1____00425;
var 1..8: i1____00433;
var 1..8: i1____00441;
var 1..8: i1____00449;
var 1..8: i1____00457;
var 1..8: i1____00465;
var 1..8: i1____00473;
var 1..8: i1____00481;
var 1..8: i1____00489;
var 1..8: i1____00497;
var 1..8: i2____00003;
var 1..8: i2____00011;
var 1..8: i2____00019;
var 1..8: i2____00027;
var 1..8: i2____00035;
var 1..8: i2____00043;
var 1..8: i2____00051;
var 1..8: i2____00059;
var 1..8: i2____00067;
var 1..8: i2____00075;
var 1..8: i2____00083;
var 1..8: i2____00091;
var 1..8: i2____00099;
var 1..8: i2____00107;
var 1..8: i2____00115;
var 1..8: i2____00123;
var 1..8: i2____00131;
var 1..8: i2____00139;
var 1..8: i2____00147;
var 1..8: i2____00155;
var 1..8: i2____00163;
var 1..8: i2____00171;
var 1..8: i2____00179;
var 1..8: i2____00187;
var 1..8: i2____00195;
var 1..8: i2____00203;
var 1..8: i2____00211;
var 1..8: i2____00219;
var 1..8: i2____00227;
var 1..8: i2____00235;
var 1..8: i2____00243;
var 1..8: i2____00251;
var 1..8: i2____00259;
var 1..8: i2____00267;
var 1..8: i2____00275;
var 1..8: i2____00283;
var 1..8: i2____00291;
var 1..8: i2____00299;
var 1..8: i2____00307;
var 1..8: i2____00315;
var 1..8: i2____00323;
var 1..8: i2____00331;
var 1..8: i2____00339;
var 1..8: i2____00347;
var 1..8: i2____00355;
var 1..8: i2____00363;
var 1..8: i2____00371;
var 1..8: i2____00379;
var 1..8: i2____00387;
var 1..8: i2____00395;
var 1..8: i2____00403;
var 1..8: i2____00411;
var 1..8: i2____00419;
var 1..8: i2____00427;
var 1..8: i2____00435;
var 1..8: i2____00443;
var 1..8: i2____00451;
var 1..8: i2____00459;
var 1..8: i2____00467;
var 1..8: i2____00475;
var 1..8: i2____00483;
var 1..8: i2____00491;
var 1..8: i2____00499;
var 1..8: j1____00002;
var 1..8: j1____00010;
var 1..8: j1____00018;
var 1..8: j1____00026;
var 1..8: j1____00034;
var 1..8: j1____00042;
var 1..8: j1____00050;
var 1..8: j1____00058;
var 1..8: j1____00066;
var 1..8: j1____00074;
var 1..8: j1____00082;
var 1..8: j1____00090;
var 1..8: j1____00098;
var 1..8: j1____00106;
var 1..8: j1____00114;
var 1..8: j1____00122;
var 1..8: j1____00130;
var 1..8: j1____00138;
var 1..8: j1____00146;
var 1..8: j1____00154;
var 1..8: j1____00162;
var 1..8: j1____00170;
var 1..8: j1____00178;
var 1..8: j1____00186;
var 1..8: j1____00194;
var 1..8: j1____00202;
var 1..8: j1____00210;
var 1..8: j1____00218;
var 1..8: j1____00226;
var 1..8: j1____00234;
var 1..8: j1____00242;
var 1..8: j1____00250;
var 1..8: j1____00258;
var 1..8: j1____00266;
var 1..8: j1____00274;
var 1..8: j1____00282;
var 1..8: j1____00290;
var 1..8: j1____00298;
var 1..8: j1____00306;
var 1..8: j1____00314;
var 1..8: j1____00322;
var 1..8: j1____00330;
var 1..8: j1____00338;
var 1..8: j1____00346;
var 1..8: j1____00354;
var 1..8: j1____00362;
var 1..8: j1____00370;
var 1..8: j1____00378;
var 1..8: j1____00386;
var 1..8: j1____00394;
var 1..8: j1____00402;
var 1..8: j1____00410;
var 1..8: j1____00418;
var 1..8: j1____00426;
var 1..8: j1____00434;
var 1..8: j1____00442;
var 1..8: j1____00450;
var 1..8: j1____00458;
var 1..8: j1____00466;
var 1..8: j1____00474;
var 1..8: j1____00482;
var 1..8: j1____00490;
var 1..8: j1____00498;
var 1..8: j2____00004;
var 1..8: j2____00012;
var 1..8: j2____00020;
var 1..8: j2____00028;
var 1..8: j2____00036;
var 1..8: j2____00044;
var 1..8: j2____00052;
var 1..8: j2____00060;
var 1..8: j2____00068;
var 1..8: j2____00076;
var 1..8: j2____00084;
var 1..8: j2____00092;
var 1..8: j2____00100;
var 1..8: j2____00108;
var 1..8: j2____00116;
var 1..8: j2____00124;
var 1..8: j2____00132;
var 1..8: j2____00140;
var 1..8: j2____00148;
var 1..8: j2____00156;
var 1..8: j2____00164;
var 1..8: j2____00172;
var 1..8: j2____00180;
var 1..8: j2____00188;
var 1..8: j2____00196;
var 1..8: j2____00204;
var 1..8: j2____00212;
var 1..8: j2____00220;
var 1..8: j2____00228;
var 1..8: j2____00236;
var 1..8: j2____00244;
var 1..8: j2____00252;
var 1..8: j2____00260;
var 1..8: j2____00268;
var 1..8: j2____00276;
var 1..8: j2____00284;
var 1..8: j2____00292;
var 1..8: j2____00300;
var 1..8: j2____00308;
var 1..8: j2____00316;
var 1..8: j2____00324;
var 1..8: j2____00332;
var 1..8: j2____00340;
var 1..8: j2____00348;
var 1..8: j2____00356;
var 1..8: j2____00364;
var 1..8: j2____00372;
var 1..8: j2____00380;
var 1..8: j2____00388;
var 1..8: j2____00396;
var 1..8: j2____00404;
var 1..8: j2____00412;
var 1..8: j2____00420;
var 1..8: j2____00428;
var 1..8: j2____00436;
var 1..8: j2____00444;
var 1..8: j2____00452;
var 1..8: j2____00460;
var 1..8: j2____00468;
var 1..8: j2____00476;
var 1..8: j2____00484;
var 1..8: j2____00492;
var 1..8: j2____00500;
array [1..64] of var 1..64: x :: output_array([1..8, 1..8]);
constraint fzn_all_different_int([x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56], x[57], x[58], x[59], x[60], x[61], x[62], x[63], x[64]]);
constraint array_var_int_element(INT____00005, x, 1);
constraint array_var_int_element(INT____00007, x, 2);
constraint array_var_int_element(INT____00013, x, 2);
constraint array_var_int_element(INT____00015, x, 3);
constraint array_var_int_element(INT____00021, x, 3);
constraint array_var_int_element(INT____00023, x, 4);
constraint array_var_int_element(INT____00029, x, 4);
constraint array_var_int_element(INT____00031, x, 5);
constraint array_var_int_element(INT____00037, x, 5);
constraint array_var_int_element(INT____00039, x, 6);
constraint array_var_int_element(INT____00045, x, 6);
constraint array_var_int_element(INT____00047, x, 7);
constraint array_var_int_element(INT____00053, x, 7);
constraint array_var_int_element(INT____00055, x, 8);
constraint array_var_int_element(INT____00061, x, 8);
constraint array_var_int_element(INT____00063, x, 9);
constraint array_var_int_element(INT____00069, x, 9);
constraint array_var_int_element(INT____00071, x, 10);
constraint array_var_int_element(INT____00077, x, 10);
constraint array_var_int_element(INT____00079, x, 11);
constraint array_var_int_element(INT____00085, x, 11);
constraint array_var_int_element(INT____00087, x, 12);
constraint array_var_int_element(INT____00093, x, 12);
constraint array_var_int_element(INT____00095, x, 13);
constraint array_var_int_element(INT____00101, x, 13);
constraint array_var_int_element(INT____00103, x, 14);
constraint array_var_int_element(INT____00109, x, 14);
constraint array_var_int_element(INT____00111, x, 15);
constraint array_var_int_element(INT____00117, x, 15);
constraint array_var_int_element(INT____00119, x, 16);
constraint array_var_int_element(INT____00125, x, 16);
constraint array_var_int_element(INT____00127, x, 17);
constraint array_var_int_element(INT____00133, x, 17);
constraint array_var_int_element(INT____00135, x, 18);
constraint array_var_int_element(INT____00141, x, 18);
constraint array_var_int_element(INT____00143, x, 19);
constraint array_var_int_element(INT____00149, x, 19);
constraint array_var_int_element(INT____00151, x, 20);
constraint array_var_int_element(INT____00157, x, 20);
constraint array_var_int_element(INT____00159, x, 21);
constraint array_var_int_element(INT____00165, x, 21);
constraint array_var_int_element(INT____00167, x, 22);
constraint array_var_int_element(INT____00173, x, 22);
constraint array_var_int_element(INT____00175, x, 23);
constraint array_var_int_element(INT____00181, x, 23);
constraint array_var_int_element(INT____00183, x, 24);
constraint array_var_int_element(INT____00189, x, 24);
constraint array_var_int_element(INT____00191, x, 25);
constraint array_var_int_element(INT____00197, x, 25);
constraint array_var_int_element(INT____00199, x, 26);
constraint array_var_int_element(INT____00205, x, 26);
constraint array_var_int_element(INT____00207, x, 27);
constraint array_var_int_element(INT____00213, x, 27);
constraint array_var_int_element(INT____00215, x, 28);
constraint array_var_int_element(INT____00221, x, 28);
constraint array_var_int_element(INT____00223, x, 29);
constraint array_var_int_element(INT____00229, x, 29);
constraint array_var_int_element(INT____00231, x, 30);
constraint array_var_int_element(INT____00237, x, 30);
constraint array_var_int_element(INT____00239, x, 31);
constraint array_var_int_element(INT____00245, x, 31);
constraint array_var_int_element(INT____00247, x, 32);
constraint array_var_int_element(INT____00253, x, 32);
constraint array_var_int_element(INT____00255, x, 33);
constraint array_var_int_element(INT____00261, x, 33);
constraint array_var_int_element(INT____00263, x, 34);
constraint array_var_int_element(INT____00269, x, 34);
constraint array_var_int_element(INT____00271, x, 35);
constraint array_var_int_element(INT____00277, x, 35);
constraint array_var_int_element(INT____00279, x, 36);
constraint array_var_int_element(INT____00285, x, 36);
constraint array_var_int_element(INT____00287, x, 37);
constraint array_var_int_element(INT____00293, x, 37);
constraint array_var_int_element(INT____00295, x, 38);
constraint array_var_int_element(INT____00301, x, 38);
constraint array_var_int_element(INT____00303, x, 39);
constraint array_var_int_element(INT____00309, x, 39);
constraint array_var_int_element(INT____00311, x, 40);
constraint array_var_int_element(INT____00317, x, 40);
constraint array_var_int_element(INT____00319, x, 41);
constraint array_var_int_element(INT____00325, x, 41);
constraint array_var_int_element(INT____00327, x, 42);
constraint array_var_int_element(INT____00333, x, 42);
constraint array_var_int_element(INT____00335, x, 43);
constraint array_var_int_element(INT____00341, x, 43);
constraint array_var_int_element(INT____00343, x, 44);
constraint array_var_int_element(INT____00349, x, 44);
constraint array_var_int_element(INT____00351, x, 45);
constraint array_var_int_element(INT____00357, x, 45);
constraint array_var_int_element(INT____00359, x, 46);
constraint array_var_int_element(INT____00365, x, 46);
constraint array_var_int_element(INT____00367, x, 47);
constraint array_var_int_element(INT____00373, x, 47);
constraint array_var_int_element(INT____00375, x, 48);
constraint array_var_int_element(INT____00381, x, 48);
constraint array_var_int_element(INT____00383, x, 49);
constraint array_var_int_element(INT____00389, x, 49);
constraint array_var_int_element(INT____00391, x, 50);
constraint array_var_int_element(INT____00397, x, 50);
constraint array_var_int_element(INT____00399, x, 51);
constraint array_var_int_element(INT____00405, x, 51);
constraint array_var_int_element(INT____00407, x, 52);
constraint array_var_int_element(INT____00413, x, 52);
constraint array_var_int_element(INT____00415, x, 53);
constraint array_var_int_element(INT____00421, x, 53);
constraint array_var_int_element(INT____00423, x, 54);
constraint array_var_int_element(INT____00429, x, 54);
constraint array_var_int_element(INT____00431, x, 55);
constraint array_var_int_element(INT____00437, x, 55);
constraint array_var_int_element(INT____00439, x, 56);
constraint array_var_int_element(INT____00445, x, 56);
constraint array_var_int_element(INT____00447, x, 57);
constraint array_var_int_element(INT____00453, x, 57);
constraint array_var_int_element(INT____00455, x, 58);
constraint array_var_int_element(INT____00461, x, 58);
constraint array_var_int_element(INT____00463, x, 59);
constraint array_var_int_element(INT____00469, x, 59);
constraint array_var_int_element(INT____00471, x, 60);
constraint array_var_int_element(INT____00477, x, 60);
constraint array_var_int_element(INT____00479, x, 61);
constraint array_var_int_element(INT____00485, x, 61);
constraint array_var_int_element(INT____00487, x, 62);
constraint array_var_int_element(INT____00493, x, 62);
constraint array_var_int_element(INT____00495, x, 63);
constraint array_var_int_element(INT____00501, x, 63);
constraint array_var_int_element(INT____00503, x, 64);
constraint int_eq_reif(x[1], 64, true);
constraint int_eq_reif(x[9], 1, true);
constraint int_eq_reif(x[10], 63, true);
constraint int_eq_reif(x[12], 59, true);
constraint int_eq_reif(x[13], 15, true);
constraint int_eq_reif(x[14], 57, true);
constraint int_eq_reif(x[15], 53, true);
constraint int_eq_reif(x[18], 4, true);
constraint int_eq_reif(x[20], 14, true);
constraint int_eq_reif(x[25], 3, true);
constraint int_eq_reif(x[27], 11, true);
constraint int_eq_reif(x[29], 20, true);
constraint int_eq_reif(x[30], 19, true);
constraint int_eq_reif(x[32], 50, true);
constraint int_eq_reif(x[37], 22, true);
constraint int_eq_reif(x[39], 48, true);
constraint int_eq_reif(x[40], 40, true);
constraint int_eq_reif(x[41], 9, true);
constraint int_eq_reif(x[44], 32, true);
constraint int_eq_reif(x[45], 23, true);
constraint int_eq_reif(x[48], 41, true);
constraint int_eq_reif(x[49], 27, true);
constraint int_eq_reif(x[53], 36, true);
constraint int_eq_reif(x[55], 46, true);
constraint int_eq_reif(x[57], 28, true);
constraint int_eq_reif(x[58], 30, true);
constraint int_eq_reif(x[60], 35, true);
constraint int_lin_eq([-1, 8, 1], [INT____00005, i1____00001, j1____00002], 8) :: defines_var(INT____00005) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00007, i2____00003, j2____00004], 8) :: defines_var(INT____00007) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00013, i1____00009, j1____00010], 8) :: defines_var(INT____00013) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00015, i2____00011, j2____00012], 8) :: defines_var(INT____00015) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00021, i1____00017, j1____00018], 8) :: defines_var(INT____00021) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00023, i2____00019, j2____00020], 8) :: defines_var(INT____00023) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00029, i1____00025, j1____00026], 8) :: defines_var(INT____00029) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00031, i2____00027, j2____00028], 8) :: defines_var(INT____00031) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00037, i1____00033, j1____00034], 8) :: defines_var(INT____00037) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00039, i2____00035, j2____00036], 8) :: defines_var(INT____00039) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00045, i1____00041, j1____00042], 8) :: defines_var(INT____00045) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00047, i2____00043, j2____00044], 8) :: defines_var(INT____00047) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00053, i1____00049, j1____00050], 8) :: defines_var(INT____00053) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00055, i2____00051, j2____00052], 8) :: defines_var(INT____00055) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00061, i1____00057, j1____00058], 8) :: defines_var(INT____00061) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00063, i2____00059, j2____00060], 8) :: defines_var(INT____00063) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00069, i1____00065, j1____00066], 8) :: defines_var(INT____00069) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00071, i2____00067, j2____00068], 8) :: defines_var(INT____00071) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00077, i1____00073, j1____00074], 8) :: defines_var(INT____00077) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00079, i2____00075, j2____00076], 8) :: defines_var(INT____00079) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00085, i1____00081, j1____00082], 8) :: defines_var(INT____00085) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00087, i2____00083, j2____00084], 8) :: defines_var(INT____00087) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00093, i1____00089, j1____00090], 8) :: defines_var(INT____00093) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00095, i2____00091, j2____00092], 8) :: defines_var(INT____00095) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00101, i1____00097, j1____00098], 8) :: defines_var(INT____00101) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00103, i2____00099, j2____00100], 8) :: defines_var(INT____00103) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00109, i1____00105, j1____00106], 8) :: defines_var(INT____00109) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00111, i2____00107, j2____00108], 8) :: defines_var(INT____00111) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00117, i1____00113, j1____00114], 8) :: defines_var(INT____00117) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00119, i2____00115, j2____00116], 8) :: defines_var(INT____00119) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00125, i1____00121, j1____00122], 8) :: defines_var(INT____00125) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00127, i2____00123, j2____00124], 8) :: defines_var(INT____00127) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00133, i1____00129, j1____00130], 8) :: defines_var(INT____00133) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00135, i2____00131, j2____00132], 8) :: defines_var(INT____00135) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00141, i1____00137, j1____00138], 8) :: defines_var(INT____00141) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00143, i2____00139, j2____00140], 8) :: defines_var(INT____00143) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00149, i1____00145, j1____00146], 8) :: defines_var(INT____00149) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00151, i2____00147, j2____00148], 8) :: defines_var(INT____00151) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00157, i1____00153, j1____00154], 8) :: defines_var(INT____00157) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00159, i2____00155, j2____00156], 8) :: defines_var(INT____00159) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00165, i1____00161, j1____00162], 8) :: defines_var(INT____00165) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00167, i2____00163, j2____00164], 8) :: defines_var(INT____00167) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00173, i1____00169, j1____00170], 8) :: defines_var(INT____00173) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00175, i2____00171, j2____00172], 8) :: defines_var(INT____00175) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00181, i1____00177, j1____00178], 8) :: defines_var(INT____00181) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00183, i2____00179, j2____00180], 8) :: defines_var(INT____00183) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00189, i1____00185, j1____00186], 8) :: defines_var(INT____00189) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00191, i2____00187, j2____00188], 8) :: defines_var(INT____00191) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00197, i1____00193, j1____00194], 8) :: defines_var(INT____00197) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00199, i2____00195, j2____00196], 8) :: defines_var(INT____00199) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00205, i1____00201, j1____00202], 8) :: defines_var(INT____00205) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00207, i2____00203, j2____00204], 8) :: defines_var(INT____00207) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00213, i1____00209, j1____00210], 8) :: defines_var(INT____00213) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00215, i2____00211, j2____00212], 8) :: defines_var(INT____00215) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00221, i1____00217, j1____00218], 8) :: defines_var(INT____00221) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00223, i2____00219, j2____00220], 8) :: defines_var(INT____00223) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00229, i1____00225, j1____00226], 8) :: defines_var(INT____00229) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00231, i2____00227, j2____00228], 8) :: defines_var(INT____00231) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00237, i1____00233, j1____00234], 8) :: defines_var(INT____00237) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00239, i2____00235, j2____00236], 8) :: defines_var(INT____00239) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00245, i1____00241, j1____00242], 8) :: defines_var(INT____00245) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00247, i2____00243, j2____00244], 8) :: defines_var(INT____00247) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00253, i1____00249, j1____00250], 8) :: defines_var(INT____00253) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00255, i2____00251, j2____00252], 8) :: defines_var(INT____00255) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00261, i1____00257, j1____00258], 8) :: defines_var(INT____00261) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00263, i2____00259, j2____00260], 8) :: defines_var(INT____00263) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00269, i1____00265, j1____00266], 8) :: defines_var(INT____00269) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00271, i2____00267, j2____00268], 8) :: defines_var(INT____00271) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00277, i1____00273, j1____00274], 8) :: defines_var(INT____00277) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00279, i2____00275, j2____00276], 8) :: defines_var(INT____00279) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00285, i1____00281, j1____00282], 8) :: defines_var(INT____00285) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00287, i2____00283, j2____00284], 8) :: defines_var(INT____00287) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00293, i1____00289, j1____00290], 8) :: defines_var(INT____00293) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00295, i2____00291, j2____00292], 8) :: defines_var(INT____00295) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00301, i1____00297, j1____00298], 8) :: defines_var(INT____00301) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00303, i2____00299, j2____00300], 8) :: defines_var(INT____00303) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00309, i1____00305, j1____00306], 8) :: defines_var(INT____00309) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00311, i2____00307, j2____00308], 8) :: defines_var(INT____00311) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00317, i1____00313, j1____00314], 8) :: defines_var(INT____00317) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00319, i2____00315, j2____00316], 8) :: defines_var(INT____00319) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00325, i1____00321, j1____00322], 8) :: defines_var(INT____00325) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00327, i2____00323, j2____00324], 8) :: defines_var(INT____00327) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00333, i1____00329, j1____00330], 8) :: defines_var(INT____00333) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00335, i2____00331, j2____00332], 8) :: defines_var(INT____00335) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00341, i1____00337, j1____00338], 8) :: defines_var(INT____00341) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00343, i2____00339, j2____00340], 8) :: defines_var(INT____00343) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00349, i1____00345, j1____00346], 8) :: defines_var(INT____00349) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00351, i2____00347, j2____00348], 8) :: defines_var(INT____00351) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00357, i1____00353, j1____00354], 8) :: defines_var(INT____00357) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00359, i2____00355, j2____00356], 8) :: defines_var(INT____00359) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00365, i1____00361, j1____00362], 8) :: defines_var(INT____00365) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00367, i2____00363, j2____00364], 8) :: defines_var(INT____00367) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00373, i1____00369, j1____00370], 8) :: defines_var(INT____00373) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00375, i2____00371, j2____00372], 8) :: defines_var(INT____00375) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00381, i1____00377, j1____00378], 8) :: defines_var(INT____00381) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00383, i2____00379, j2____00380], 8) :: defines_var(INT____00383) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00389, i1____00385, j1____00386], 8) :: defines_var(INT____00389) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00391, i2____00387, j2____00388], 8) :: defines_var(INT____00391) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00397, i1____00393, j1____00394], 8) :: defines_var(INT____00397) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00399, i2____00395, j2____00396], 8) :: defines_var(INT____00399) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00405, i1____00401, j1____00402], 8) :: defines_var(INT____00405) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00407, i2____00403, j2____00404], 8) :: defines_var(INT____00407) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00413, i1____00409, j1____00410], 8) :: defines_var(INT____00413) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00415, i2____00411, j2____00412], 8) :: defines_var(INT____00415) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00421, i1____00417, j1____00418], 8) :: defines_var(INT____00421) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00423, i2____00419, j2____00420], 8) :: defines_var(INT____00423) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00429, i1____00425, j1____00426], 8) :: defines_var(INT____00429) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00431, i2____00427, j2____00428], 8) :: defines_var(INT____00431) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00437, i1____00433, j1____00434], 8) :: defines_var(INT____00437) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00439, i2____00435, j2____00436], 8) :: defines_var(INT____00439) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00445, i1____00441, j1____00442], 8) :: defines_var(INT____00445) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00447, i2____00443, j2____00444], 8) :: defines_var(INT____00447) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00453, i1____00449, j1____00450], 8) :: defines_var(INT____00453) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00455, i2____00451, j2____00452], 8) :: defines_var(INT____00455) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00461, i1____00457, j1____00458], 8) :: defines_var(INT____00461) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00463, i2____00459, j2____00460], 8) :: defines_var(INT____00463) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00469, i1____00465, j1____00466], 8) :: defines_var(INT____00469) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00471, i2____00467, j2____00468], 8) :: defines_var(INT____00471) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00477, i1____00473, j1____00474], 8) :: defines_var(INT____00477) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00479, i2____00475, j2____00476], 8) :: defines_var(INT____00479) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00485, i1____00481, j1____00482], 8) :: defines_var(INT____00485) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00487, i2____00483, j2____00484], 8) :: defines_var(INT____00487) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00493, i1____00489, j1____00490], 8) :: defines_var(INT____00493) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00495, i2____00491, j2____00492], 8) :: defines_var(INT____00495) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00501, i1____00497, j1____00498], 8) :: defines_var(INT____00501) :: domain;
constraint int_lin_eq([-1, 8, 1], [INT____00503, i2____00499, j2____00500], 8) :: defines_var(INT____00503) :: domain;
constraint table_int([i1____00001, j1____00002, i2____00003, j2____00004], valid_connections2);
constraint table_int([i1____00009, j1____00010, i2____00011, j2____00012], valid_connections2);
constraint table_int([i1____00017, j1____00018, i2____00019, j2____00020], valid_connections2);
constraint table_int([i1____00025, j1____00026, i2____00027, j2____00028], valid_connections2);
constraint table_int([i1____00033, j1____00034, i2____00035, j2____00036], valid_connections2);
constraint table_int([i1____00041, j1____00042, i2____00043, j2____00044], valid_connections2);
constraint table_int([i1____00049, j1____00050, i2____00051, j2____00052], valid_connections2);
constraint table_int([i1____00057, j1____00058, i2____00059, j2____00060], valid_connections2);
constraint table_int([i1____00065, j1____00066, i2____00067, j2____00068], valid_connections2);
constraint table_int([i1____00073, j1____00074, i2____00075, j2____00076], valid_connections2);
constraint table_int([i1____00081, j1____00082, i2____00083, j2____00084], valid_connections2);
constraint table_int([i1____00089, j1____00090, i2____00091, j2____00092], valid_connections2);
constraint table_int([i1____00097, j1____00098, i2____00099, j2____00100], valid_connections2);
constraint table_int([i1____00105, j1____00106, i2____00107, j2____00108], valid_connections2);
constraint table_int([i1____00113, j1____00114, i2____00115, j2____00116], valid_connections2);
constraint table_int([i1____00121, j1____00122, i2____00123, j2____00124], valid_connections2);
constraint table_int([i1____00129, j1____00130, i2____00131, j2____00132], valid_connections2);
constraint table_int([i1____00137, j1____00138, i2____00139, j2____00140], valid_connections2);
constraint table_int([i1____00145, j1____00146, i2____00147, j2____00148], valid_connections2);
constraint table_int([i1____00153, j1____00154, i2____00155, j2____00156], valid_connections2);
constraint table_int([i1____00161, j1____00162, i2____00163, j2____00164], valid_connections2);
constraint table_int([i1____00169, j1____00170, i2____00171, j2____00172], valid_connections2);
constraint table_int([i1____00177, j1____00178, i2____00179, j2____00180], valid_connections2);
constraint table_int([i1____00185, j1____00186, i2____00187, j2____00188], valid_connections2);
constraint table_int([i1____00193, j1____00194, i2____00195, j2____00196], valid_connections2);
constraint table_int([i1____00201, j1____00202, i2____00203, j2____00204], valid_connections2);
constraint table_int([i1____00209, j1____00210, i2____00211, j2____00212], valid_connections2);
constraint table_int([i1____00217, j1____00218, i2____00219, j2____00220], valid_connections2);
constraint table_int([i1____00225, j1____00226, i2____00227, j2____00228], valid_connections2);
constraint table_int([i1____00233, j1____00234, i2____00235, j2____00236], valid_connections2);
constraint table_int([i1____00241, j1____00242, i2____00243, j2____00244], valid_connections2);
constraint table_int([i1____00249, j1____00250, i2____00251, j2____00252], valid_connections2);
constraint table_int([i1____00257, j1____00258, i2____00259, j2____00260], valid_connections2);
constraint table_int([i1____00265, j1____00266, i2____00267, j2____00268], valid_connections2);
constraint table_int([i1____00273, j1____00274, i2____00275, j2____00276], valid_connections2);
constraint table_int([i1____00281, j1____00282, i2____00283, j2____00284], valid_connections2);
constraint table_int([i1____00289, j1____00290, i2____00291, j2____00292], valid_connections2);
constraint table_int([i1____00297, j1____00298, i2____00299, j2____00300], valid_connections2);
constraint table_int([i1____00305, j1____00306, i2____00307, j2____00308], valid_connections2);
constraint table_int([i1____00313, j1____00314, i2____00315, j2____00316], valid_connections2);
constraint table_int([i1____00321, j1____00322, i2____00323, j2____00324], valid_connections2);
constraint table_int([i1____00329, j1____00330, i2____00331, j2____00332], valid_connections2);
constraint table_int([i1____00337, j1____00338, i2____00339, j2____00340], valid_connections2);
constraint table_int([i1____00345, j1____00346, i2____00347, j2____00348], valid_connections2);
constraint table_int([i1____00353, j1____00354, i2____00355, j2____00356], valid_connections2);
constraint table_int([i1____00361, j1____00362, i2____00363, j2____00364], valid_connections2);
constraint table_int([i1____00369, j1____00370, i2____00371, j2____00372], valid_connections2);
constraint table_int([i1____00377, j1____00378, i2____00379, j2____00380], valid_connections2);
constraint table_int([i1____00385, j1____00386, i2____00387, j2____00388], valid_connections2);
constraint table_int([i1____00393, j1____00394, i2____00395, j2____00396], valid_connections2);
constraint table_int([i1____00401, j1____00402, i2____00403, j2____00404], valid_connections2);
constraint table_int([i1____00409, j1____00410, i2____00411, j2____00412], valid_connections2);
constraint table_int([i1____00417, j1____00418, i2____00419, j2____00420], valid_connections2);
constraint table_int([i1____00425, j1____00426, i2____00427, j2____00428], valid_connections2);
constraint table_int([i1____00433, j1____00434, i2____00435, j2____00436], valid_connections2);
constraint table_int([i1____00441, j1____00442, i2____00443, j2____00444], valid_connections2);
constraint table_int([i1____00449, j1____00450, i2____00451, j2____00452], valid_connections2);
constraint table_int([i1____00457, j1____00458, i2____00459, j2____00460], valid_connections2);
constraint table_int([i1____00465, j1____00466, i2____00467, j2____00468], valid_connections2);
constraint table_int([i1____00473, j1____00474, i2____00475, j2____00476], valid_connections2);
constraint table_int([i1____00481, j1____00482, i2____00483, j2____00484], valid_connections2);
constraint table_int([i1____00489, j1____00490, i2____00491, j2____00492], valid_connections2);
constraint table_int([i1____00497, j1____00498, i2____00499, j2____00500], valid_connections2);
solve :: int_search([x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17], x[18], x[19], x[20], x[21], x[22], x[23], x[24], x[25], x[26], x[27], x[28], x[29], x[30], x[31], x[32], x[33], x[34], x[35], x[36], x[37], x[38], x[39], x[40], x[41], x[42], x[43], x[44], x[45], x[46], x[47], x[48], x[49], x[50], x[51], x[52], x[53], x[54], x[55], x[56], x[57], x[58], x[59], x[60], x[61], x[62], x[63], x[64]], max_regret, indomain_min, complete) satisfy;