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..3] of var 0..6: gcc1____00003; array [1..3] of var 0..6: gcc1____00019; array [1..3] of var 0..6: gcc1____00029; array [1..3] of var 0..6: gcc2____00004; array [1..3] of var 0..6: gcc2____00020; array [1..3] of var 0..6: gcc2____00030; array [1..6] of var 0..2: m1____00001; array [1..6] of var 0..2: m1____00017; array [1..6] of var 0..2: m1____00027; array [1..6] of var 0..2: m2____00002; array [1..6] of var 0..2: m2____00018; array [1..6] of var 0..2: m2____00028; array [1..18] of var 1..9: v :: output_array([1..3, 1..6]); constraint global_cardinality(m1____00001, [0, 1, 2], gcc1____00003); constraint global_cardinality(m1____00017, [0, 1, 2], gcc1____00019); constraint global_cardinality(m1____00027, [0, 1, 2], gcc1____00029); constraint global_cardinality(m2____00002, [0, 1, 2], gcc2____00004); constraint global_cardinality(m2____00018, [0, 1, 2], gcc2____00020); constraint global_cardinality(m2____00028, [0, 1, 2], gcc2____00030); constraint int_eq(1, v[1]); constraint int_eq(1, v[3]); constraint int_eq(1, v[6]); constraint int_eq(1, v[9]); constraint int_eq(1, v[10]); constraint int_eq(1, v[13]); constraint int_eq(2, v[5]); constraint int_eq(2, v[16]); constraint int_eq(3, v[14]); constraint int_eq(4, v[8]); constraint int_eq(4, v[15]); constraint int_eq(5, v[4]); constraint int_eq(5, v[11]); constraint int_eq(5, v[12]); constraint int_eq(6, v[7]); constraint int_eq(7, v[18]); constraint int_eq(8, v[17]); constraint int_eq(9, v[2]); constraint int_eq(gcc1____00003[1], gcc2____00004[1]); constraint int_eq(gcc1____00003[2], gcc2____00004[2]); constraint int_eq(gcc1____00003[3], gcc2____00004[3]); constraint int_eq(gcc1____00019[1], gcc2____00020[1]); constraint int_eq(gcc1____00019[2], gcc2____00020[2]); constraint int_eq(gcc1____00019[3], gcc2____00020[3]); constraint int_eq(gcc1____00029[1], gcc2____00030[1]); constraint int_eq(gcc1____00029[2], gcc2____00030[2]); constraint int_eq(gcc1____00029[3], gcc2____00030[3]); constraint int_eq(m1____00017[1], m1____00001[1]); constraint int_eq(m1____00017[2], m1____00001[2]); constraint int_eq(m1____00017[3], m1____00001[3]); constraint int_eq(m1____00017[4], m1____00001[4]); constraint int_eq(m1____00017[5], m1____00001[5]); constraint int_eq(m1____00017[6], m1____00001[6]); constraint int_eq(m1____00027[1], m2____00002[1]); constraint int_eq(m1____00027[2], m2____00002[2]); constraint int_eq(m1____00027[3], m2____00002[3]); constraint int_eq(m1____00027[4], m2____00002[4]); constraint int_eq(m1____00027[5], m2____00002[5]); constraint int_eq(m1____00027[6], m2____00002[6]); constraint int_eq(m2____00028[1], m2____00018[1]); constraint int_eq(m2____00028[2], m2____00018[2]); constraint int_eq(m2____00028[3], m2____00018[3]); constraint int_eq(m2____00028[4], m2____00018[4]); constraint int_eq(m2____00028[5], m2____00018[5]); constraint int_eq(m2____00028[6], m2____00018[6]); constraint int_mod(v[1], 3, m1____00001[1]); constraint int_mod(v[2], 3, m1____00001[2]); constraint int_mod(v[3], 3, m1____00001[3]); constraint int_mod(v[4], 3, m1____00001[4]); constraint int_mod(v[5], 3, m1____00001[5]); constraint int_mod(v[6], 3, m1____00001[6]); constraint int_mod(v[7], 3, m2____00002[1]); constraint int_mod(v[8], 3, m2____00002[2]); constraint int_mod(v[9], 3, m2____00002[3]); constraint int_mod(v[10], 3, m2____00002[4]); constraint int_mod(v[11], 3, m2____00002[5]); constraint int_mod(v[12], 3, m2____00002[6]); constraint int_mod(v[13], 3, m2____00018[1]); constraint int_mod(v[14], 3, m2____00018[2]); constraint int_mod(v[15], 3, m2____00018[3]); constraint int_mod(v[16], 3, m2____00018[4]); constraint int_mod(v[17], 3, m2____00018[5]); constraint int_mod(v[18], 3, m2____00018[6]); solve :: int_search([v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12], v[13], v[14], v[15], v[16], v[17], v[18]], first_fail, indomain_min, complete) satisfy;