array [1..5] of int: X_INTRODUCED_13_ = [1,-1,-1,-1,-1]; var 0..4: X_INTRODUCED_0_:: is_defined_var; var 0..4: X_INTRODUCED_1_:: is_defined_var; var 0..4: X_INTRODUCED_2_:: is_defined_var; var 0..4: X_INTRODUCED_3_:: is_defined_var; var bool: X_INTRODUCED_4_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_5_ ::var_is_introduced :: is_defined_var; var bool: X_INTRODUCED_6_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_7_ ::var_is_introduced :: is_defined_var; var bool: X_INTRODUCED_8_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_9_ ::var_is_introduced :: is_defined_var; var bool: X_INTRODUCED_10_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_11_ ::var_is_introduced :: is_defined_var; var bool: X_INTRODUCED_14_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_15_ ::var_is_introduced :: is_defined_var; var bool: X_INTRODUCED_16_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_17_ ::var_is_introduced :: is_defined_var; var bool: X_INTRODUCED_18_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_19_ ::var_is_introduced :: is_defined_var; var bool: X_INTRODUCED_20_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_21_ ::var_is_introduced :: is_defined_var; var bool: X_INTRODUCED_23_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_24_ ::var_is_introduced :: is_defined_var; var bool: X_INTRODUCED_25_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_26_ ::var_is_introduced :: is_defined_var; var bool: X_INTRODUCED_27_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_28_ ::var_is_introduced :: is_defined_var; var bool: X_INTRODUCED_29_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_30_ ::var_is_introduced :: is_defined_var; var bool: X_INTRODUCED_32_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_33_ ::var_is_introduced :: is_defined_var; var bool: X_INTRODUCED_34_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_35_ ::var_is_introduced :: is_defined_var; var bool: X_INTRODUCED_36_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_37_ ::var_is_introduced :: is_defined_var; var bool: X_INTRODUCED_38_ ::var_is_introduced :: is_defined_var; var 0..1: X_INTRODUCED_39_ ::var_is_introduced :: is_defined_var; array [1..4] of var int: x:: output_array([0..3]) = [X_INTRODUCED_0_,X_INTRODUCED_1_,X_INTRODUCED_2_,X_INTRODUCED_3_]; constraint int_lin_eq(X_INTRODUCED_13_,[X_INTRODUCED_0_,X_INTRODUCED_5_,X_INTRODUCED_7_,X_INTRODUCED_9_,X_INTRODUCED_11_],0):: defines_var(X_INTRODUCED_0_); constraint int_lin_eq(X_INTRODUCED_13_,[X_INTRODUCED_1_,X_INTRODUCED_15_,X_INTRODUCED_17_,X_INTRODUCED_19_,X_INTRODUCED_21_],0):: defines_var(X_INTRODUCED_1_); constraint int_lin_eq(X_INTRODUCED_13_,[X_INTRODUCED_2_,X_INTRODUCED_24_,X_INTRODUCED_26_,X_INTRODUCED_28_,X_INTRODUCED_30_],0):: defines_var(X_INTRODUCED_2_); constraint int_lin_eq(X_INTRODUCED_13_,[X_INTRODUCED_3_,X_INTRODUCED_33_,X_INTRODUCED_35_,X_INTRODUCED_37_,X_INTRODUCED_39_],0):: defines_var(X_INTRODUCED_3_); constraint int_eq_reif(X_INTRODUCED_0_,0,X_INTRODUCED_4_):: defines_var(X_INTRODUCED_4_); constraint bool2int(X_INTRODUCED_4_,X_INTRODUCED_5_):: defines_var(X_INTRODUCED_5_); constraint int_eq_reif(X_INTRODUCED_1_,0,X_INTRODUCED_6_):: defines_var(X_INTRODUCED_6_); constraint bool2int(X_INTRODUCED_6_,X_INTRODUCED_7_):: defines_var(X_INTRODUCED_7_); constraint int_eq_reif(X_INTRODUCED_2_,0,X_INTRODUCED_8_):: defines_var(X_INTRODUCED_8_); constraint bool2int(X_INTRODUCED_8_,X_INTRODUCED_9_):: defines_var(X_INTRODUCED_9_); constraint int_eq_reif(X_INTRODUCED_3_,0,X_INTRODUCED_10_):: defines_var(X_INTRODUCED_10_); constraint bool2int(X_INTRODUCED_10_,X_INTRODUCED_11_):: defines_var(X_INTRODUCED_11_); constraint int_eq_reif(X_INTRODUCED_0_,1,X_INTRODUCED_14_):: defines_var(X_INTRODUCED_14_); constraint bool2int(X_INTRODUCED_14_,X_INTRODUCED_15_):: defines_var(X_INTRODUCED_15_); constraint int_eq_reif(X_INTRODUCED_1_,1,X_INTRODUCED_16_):: defines_var(X_INTRODUCED_16_); constraint bool2int(X_INTRODUCED_16_,X_INTRODUCED_17_):: defines_var(X_INTRODUCED_17_); constraint int_eq_reif(X_INTRODUCED_2_,1,X_INTRODUCED_18_):: defines_var(X_INTRODUCED_18_); constraint bool2int(X_INTRODUCED_18_,X_INTRODUCED_19_):: defines_var(X_INTRODUCED_19_); constraint int_eq_reif(X_INTRODUCED_3_,1,X_INTRODUCED_20_):: defines_var(X_INTRODUCED_20_); constraint bool2int(X_INTRODUCED_20_,X_INTRODUCED_21_):: defines_var(X_INTRODUCED_21_); constraint int_eq_reif(X_INTRODUCED_0_,2,X_INTRODUCED_23_):: defines_var(X_INTRODUCED_23_); constraint bool2int(X_INTRODUCED_23_,X_INTRODUCED_24_):: defines_var(X_INTRODUCED_24_); constraint int_eq_reif(X_INTRODUCED_1_,2,X_INTRODUCED_25_):: defines_var(X_INTRODUCED_25_); constraint bool2int(X_INTRODUCED_25_,X_INTRODUCED_26_):: defines_var(X_INTRODUCED_26_); constraint int_eq_reif(X_INTRODUCED_2_,2,X_INTRODUCED_27_):: defines_var(X_INTRODUCED_27_); constraint bool2int(X_INTRODUCED_27_,X_INTRODUCED_28_):: defines_var(X_INTRODUCED_28_); constraint int_eq_reif(X_INTRODUCED_3_,2,X_INTRODUCED_29_):: defines_var(X_INTRODUCED_29_); constraint bool2int(X_INTRODUCED_29_,X_INTRODUCED_30_):: defines_var(X_INTRODUCED_30_); constraint int_eq_reif(X_INTRODUCED_0_,3,X_INTRODUCED_32_):: defines_var(X_INTRODUCED_32_); constraint bool2int(X_INTRODUCED_32_,X_INTRODUCED_33_):: defines_var(X_INTRODUCED_33_); constraint int_eq_reif(X_INTRODUCED_1_,3,X_INTRODUCED_34_):: defines_var(X_INTRODUCED_34_); constraint bool2int(X_INTRODUCED_34_,X_INTRODUCED_35_):: defines_var(X_INTRODUCED_35_); constraint int_eq_reif(X_INTRODUCED_2_,3,X_INTRODUCED_36_):: defines_var(X_INTRODUCED_36_); constraint bool2int(X_INTRODUCED_36_,X_INTRODUCED_37_):: defines_var(X_INTRODUCED_37_); constraint int_eq_reif(X_INTRODUCED_3_,3,X_INTRODUCED_38_):: defines_var(X_INTRODUCED_38_); constraint bool2int(X_INTRODUCED_38_,X_INTRODUCED_39_):: defines_var(X_INTRODUCED_39_); solve :: int_search(x,input_order,indomain_min,complete) satisfy;