predicate 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_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_cumulative(array [int] of var int: s, array [int] of int: d, array [int] of int: r, var int: b); var 2..20: V1; var 4..20: V10; var 2..20: V11; var 3..20: V12; var 2..20: V13; var 2..18: V14; var 2..20: V15; var 1..20: V16; var 1..19: V17; var 1..19: V18; var 1..20: V19; var 2..20: V2; var 3..20: V20; var 2..18: V3; var 1..18: V4; var 1..20: V5; var 1..20: V6; var 5..17: V7; var 1..17: V8; var 1..20: V9; array [1..20] of var 0..20: List :: output_array([1..20]) = [V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20]; constraint all_different_int(List); constraint set_in(V1, {2, 4, 6, 7, 8, 9, 10, 11, 16, 18, 20}); constraint set_in(V10, {4, 5, 8, 9, 10, 11, 13, 17, 18, 19, 20}); constraint set_in(V11, {2, 4, 6, 7, 8, 10, 12, 14, 17, 18, 20}); constraint set_in(V12, {3, 7, 8, 9, 10, 13, 14, 15, 18, 20}); constraint set_in(V13, {2, 3, 6, 7, 8, 9, 11, 13, 16, 20}); constraint set_in(V14, {2, 3, 5, 6, 8, 9, 12, 13, 15, 16, 17, 18}); constraint set_in(V15, {2, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 20}); constraint set_in(V16, {1, 2, 6, 11, 13, 16, 17, 19, 20}); constraint set_in(V17, {1, 3, 6, 9, 13, 19}); constraint set_in(V18, {1, 3, 6, 7, 8, 10, 13, 14, 19}); constraint set_in(V19, {1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 14, 16, 17, 19, 20}); constraint set_in(V2, {2, 3, 4, 8, 10, 12, 17, 19, 20}); constraint set_in(V20, {3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 18, 20}); constraint set_in(V3, {2, 3, 4, 6, 8, 9, 11, 17, 18}); constraint set_in(V4, {1, 3, 4, 5, 6, 7, 9, 10, 11, 13, 18}); constraint set_in(V5, {1, 5, 6, 10, 12, 13, 14, 17, 18, 19, 20}); constraint set_in(V6, {1, 3, 10, 12, 15, 16, 19, 20}); constraint set_in(V7, {5, 8, 9, 10, 17}); constraint set_in(V8, {1, 2, 5, 6, 7, 12, 14, 15, 16, 17}); constraint set_in(V9, {1, 2, 3, 4, 5, 7, 11, 12, 13, 14, 16, 17, 20}); solve satisfy;