array [1..70] of int: game = [-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1]; var bool: BOOL____00001 :: is_defined_var :: var_is_introduced; var bool: BOOL____00002 :: is_defined_var :: var_is_introduced; var bool: BOOL____00039 :: is_defined_var :: var_is_introduced; var bool: BOOL____00040 :: is_defined_var :: var_is_introduced; var bool: BOOL____00041 :: is_defined_var :: var_is_introduced; var bool: BOOL____00042 :: is_defined_var :: var_is_introduced; var bool: BOOL____00079 :: is_defined_var :: var_is_introduced; var bool: BOOL____00080 :: is_defined_var :: var_is_introduced; var bool: BOOL____00081 :: is_defined_var :: var_is_introduced; var bool: BOOL____00082 :: is_defined_var :: var_is_introduced; var bool: BOOL____00083 :: is_defined_var :: var_is_introduced; var bool: BOOL____00084 :: is_defined_var :: var_is_introduced; var bool: BOOL____00088 :: is_defined_var :: var_is_introduced; var bool: BOOL____00089 :: is_defined_var :: var_is_introduced; var bool: BOOL____00090 :: is_defined_var :: var_is_introduced; var bool: BOOL____00091 :: is_defined_var :: var_is_introduced; var bool: BOOL____00095 :: is_defined_var :: var_is_introduced; var bool: BOOL____00096 :: is_defined_var :: var_is_introduced; var bool: BOOL____00097 :: is_defined_var :: var_is_introduced; var bool: BOOL____00098 :: is_defined_var :: var_is_introduced; var bool: BOOL____00102 :: is_defined_var :: var_is_introduced; var bool: BOOL____00103 :: is_defined_var :: var_is_introduced; var bool: BOOL____00104 :: is_defined_var :: var_is_introduced; var bool: BOOL____00105 :: is_defined_var :: var_is_introduced; var bool: BOOL____00109 :: is_defined_var :: var_is_introduced; var bool: BOOL____00110 :: is_defined_var :: var_is_introduced; var bool: BOOL____00111 :: is_defined_var :: var_is_introduced; var bool: BOOL____00112 :: is_defined_var :: var_is_introduced; var bool: BOOL____00113 :: is_defined_var :: var_is_introduced; var bool: BOOL____00114 :: is_defined_var :: var_is_introduced; var bool: BOOL____00151 :: is_defined_var :: var_is_introduced; var bool: BOOL____00152 :: is_defined_var :: var_is_introduced; var bool: BOOL____00153 :: is_defined_var :: var_is_introduced; var bool: BOOL____00154 :: is_defined_var :: var_is_introduced; var bool: BOOL____00191 :: is_defined_var :: var_is_introduced; var bool: BOOL____00192 :: is_defined_var :: var_is_introduced; array [1..70] of var 0..1: mines :: output_array([1..5, 1..14]); constraint int_eq_reif(mines[1], 0, BOOL____00001) :: defines_var(BOOL____00001); constraint int_eq_reif(mines[1], 1, BOOL____00002) :: defines_var(BOOL____00002); constraint int_eq_reif(mines[2], 0, true); constraint int_eq_reif(mines[2], 1, false); constraint int_eq_reif(mines[3], 0, true); constraint int_eq_reif(mines[3], 1, false); constraint int_eq_reif(mines[4], 0, true); constraint int_eq_reif(mines[4], 1, false); constraint int_eq_reif(mines[5], 0, true); constraint int_eq_reif(mines[5], 1, false); constraint int_eq_reif(mines[6], 0, true); constraint int_eq_reif(mines[6], 1, false); constraint int_eq_reif(mines[7], 0, true); constraint int_eq_reif(mines[7], 1, false); constraint int_eq_reif(mines[8], 0, true); constraint int_eq_reif(mines[8], 1, false); constraint int_eq_reif(mines[9], 0, true); constraint int_eq_reif(mines[9], 1, false); constraint int_eq_reif(mines[10], 0, true); constraint int_eq_reif(mines[10], 1, false); constraint int_eq_reif(mines[11], 0, true); constraint int_eq_reif(mines[11], 1, false); constraint int_eq_reif(mines[12], 0, true); constraint int_eq_reif(mines[12], 1, false); constraint int_eq_reif(mines[13], 0, true); constraint int_eq_reif(mines[13], 1, false); constraint int_eq_reif(mines[14], 0, BOOL____00039) :: defines_var(BOOL____00039); constraint int_eq_reif(mines[14], 1, BOOL____00040) :: defines_var(BOOL____00040); constraint int_eq_reif(mines[15], 0, BOOL____00041) :: defines_var(BOOL____00041); constraint int_eq_reif(mines[15], 1, BOOL____00042) :: defines_var(BOOL____00042); constraint int_eq_reif(mines[16], 0, true); constraint int_eq_reif(mines[16], 1, false); constraint int_eq_reif(mines[17], 0, true); constraint int_eq_reif(mines[17], 1, false); constraint int_eq_reif(mines[18], 0, true); constraint int_eq_reif(mines[18], 1, false); constraint int_eq_reif(mines[19], 0, true); constraint int_eq_reif(mines[19], 1, false); constraint int_eq_reif(mines[20], 0, true); constraint int_eq_reif(mines[20], 1, false); constraint int_eq_reif(mines[21], 0, true); constraint int_eq_reif(mines[21], 1, false); constraint int_eq_reif(mines[22], 0, true); constraint int_eq_reif(mines[22], 1, false); constraint int_eq_reif(mines[23], 0, true); constraint int_eq_reif(mines[23], 1, false); constraint int_eq_reif(mines[24], 0, true); constraint int_eq_reif(mines[24], 1, false); constraint int_eq_reif(mines[25], 0, true); constraint int_eq_reif(mines[25], 1, false); constraint int_eq_reif(mines[26], 0, true); constraint int_eq_reif(mines[26], 1, false); constraint int_eq_reif(mines[27], 0, true); constraint int_eq_reif(mines[27], 1, false); constraint int_eq_reif(mines[28], 0, BOOL____00079) :: defines_var(BOOL____00079); constraint int_eq_reif(mines[28], 1, BOOL____00080) :: defines_var(BOOL____00080); constraint int_eq_reif(mines[29], 0, BOOL____00081) :: defines_var(BOOL____00081); constraint int_eq_reif(mines[29], 1, BOOL____00082) :: defines_var(BOOL____00082); constraint int_eq_reif(mines[30], 0, BOOL____00083) :: defines_var(BOOL____00083); constraint int_eq_reif(mines[30], 1, BOOL____00084) :: defines_var(BOOL____00084); constraint int_eq_reif(mines[31], 0, true); constraint int_eq_reif(mines[31], 1, false); constraint int_eq_reif(mines[32], 0, BOOL____00088) :: defines_var(BOOL____00088); constraint int_eq_reif(mines[32], 1, BOOL____00089) :: defines_var(BOOL____00089); constraint int_eq_reif(mines[33], 0, BOOL____00090) :: defines_var(BOOL____00090); constraint int_eq_reif(mines[33], 1, BOOL____00091) :: defines_var(BOOL____00091); constraint int_eq_reif(mines[34], 0, true); constraint int_eq_reif(mines[34], 1, false); constraint int_eq_reif(mines[35], 0, BOOL____00095) :: defines_var(BOOL____00095); constraint int_eq_reif(mines[35], 1, BOOL____00096) :: defines_var(BOOL____00096); constraint int_eq_reif(mines[36], 0, BOOL____00097) :: defines_var(BOOL____00097); constraint int_eq_reif(mines[36], 1, BOOL____00098) :: defines_var(BOOL____00098); constraint int_eq_reif(mines[37], 0, true); constraint int_eq_reif(mines[37], 1, false); constraint int_eq_reif(mines[38], 0, BOOL____00102) :: defines_var(BOOL____00102); constraint int_eq_reif(mines[38], 1, BOOL____00103) :: defines_var(BOOL____00103); constraint int_eq_reif(mines[39], 0, BOOL____00104) :: defines_var(BOOL____00104); constraint int_eq_reif(mines[39], 1, BOOL____00105) :: defines_var(BOOL____00105); constraint int_eq_reif(mines[40], 0, true); constraint int_eq_reif(mines[40], 1, false); constraint int_eq_reif(mines[41], 0, BOOL____00109) :: defines_var(BOOL____00109); constraint int_eq_reif(mines[41], 1, BOOL____00110) :: defines_var(BOOL____00110); constraint int_eq_reif(mines[42], 0, BOOL____00111) :: defines_var(BOOL____00111); constraint int_eq_reif(mines[42], 1, BOOL____00112) :: defines_var(BOOL____00112); constraint int_eq_reif(mines[43], 0, BOOL____00113) :: defines_var(BOOL____00113); constraint int_eq_reif(mines[43], 1, BOOL____00114) :: defines_var(BOOL____00114); constraint int_eq_reif(mines[44], 0, true); constraint int_eq_reif(mines[44], 1, false); constraint int_eq_reif(mines[45], 0, true); constraint int_eq_reif(mines[45], 1, false); constraint int_eq_reif(mines[46], 0, true); constraint int_eq_reif(mines[46], 1, false); constraint int_eq_reif(mines[47], 0, true); constraint int_eq_reif(mines[47], 1, false); constraint int_eq_reif(mines[48], 0, true); constraint int_eq_reif(mines[48], 1, false); constraint int_eq_reif(mines[49], 0, true); constraint int_eq_reif(mines[49], 1, false); constraint int_eq_reif(mines[50], 0, true); constraint int_eq_reif(mines[50], 1, false); constraint int_eq_reif(mines[51], 0, true); constraint int_eq_reif(mines[51], 1, false); constraint int_eq_reif(mines[52], 0, true); constraint int_eq_reif(mines[52], 1, false); constraint int_eq_reif(mines[53], 0, true); constraint int_eq_reif(mines[53], 1, false); constraint int_eq_reif(mines[54], 0, true); constraint int_eq_reif(mines[54], 1, false); constraint int_eq_reif(mines[55], 0, true); constraint int_eq_reif(mines[55], 1, false); constraint int_eq_reif(mines[56], 0, BOOL____00151) :: defines_var(BOOL____00151); constraint int_eq_reif(mines[56], 1, BOOL____00152) :: defines_var(BOOL____00152); constraint int_eq_reif(mines[57], 0, BOOL____00153) :: defines_var(BOOL____00153); constraint int_eq_reif(mines[57], 1, BOOL____00154) :: defines_var(BOOL____00154); constraint int_eq_reif(mines[58], 0, true); constraint int_eq_reif(mines[58], 1, false); constraint int_eq_reif(mines[59], 0, true); constraint int_eq_reif(mines[59], 1, false); constraint int_eq_reif(mines[60], 0, true); constraint int_eq_reif(mines[60], 1, false); constraint int_eq_reif(mines[61], 0, true); constraint int_eq_reif(mines[61], 1, false); constraint int_eq_reif(mines[62], 0, true); constraint int_eq_reif(mines[62], 1, false); constraint int_eq_reif(mines[63], 0, true); constraint int_eq_reif(mines[63], 1, false); constraint int_eq_reif(mines[64], 0, true); constraint int_eq_reif(mines[64], 1, false); constraint int_eq_reif(mines[65], 0, true); constraint int_eq_reif(mines[65], 1, false); constraint int_eq_reif(mines[66], 0, true); constraint int_eq_reif(mines[66], 1, false); constraint int_eq_reif(mines[67], 0, true); constraint int_eq_reif(mines[67], 1, false); constraint int_eq_reif(mines[68], 0, true); constraint int_eq_reif(mines[68], 1, false); constraint int_eq_reif(mines[69], 0, true); constraint int_eq_reif(mines[69], 1, false); constraint int_eq_reif(mines[70], 0, BOOL____00191) :: defines_var(BOOL____00191); constraint int_eq_reif(mines[70], 1, BOOL____00192) :: defines_var(BOOL____00192); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[1], mines[2], mines[3], mines[15], mines[16], mines[17]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[2], mines[3], mines[4], mines[16], mines[17], mines[18]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[3], mines[4], mines[5], mines[17], mines[18], mines[19]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[4], mines[5], mines[6], mines[18], mines[19], mines[20]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[5], mines[6], mines[7], mines[19], mines[20], mines[21]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[6], mines[7], mines[8], mines[20], mines[21], mines[22]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[7], mines[8], mines[9], mines[21], mines[22], mines[23]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[8], mines[9], mines[10], mines[22], mines[23], mines[24]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[9], mines[10], mines[11], mines[23], mines[24], mines[25]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[10], mines[11], mines[12], mines[24], mines[25], mines[26]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[11], mines[12], mines[13], mines[25], mines[26], mines[27]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[12], mines[13], mines[14], mines[26], mines[27], mines[28]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[43], mines[44], mines[45], mines[57], mines[58], mines[59]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[44], mines[45], mines[46], mines[58], mines[59], mines[60]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[45], mines[46], mines[47], mines[59], mines[60], mines[61]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[46], mines[47], mines[48], mines[60], mines[61], mines[62]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[47], mines[48], mines[49], mines[61], mines[62], mines[63]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[48], mines[49], mines[50], mines[62], mines[63], mines[64]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[49], mines[50], mines[51], mines[63], mines[64], mines[65]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[50], mines[51], mines[52], mines[64], mines[65], mines[66]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[51], mines[52], mines[53], mines[65], mines[66], mines[67]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[52], mines[53], mines[54], mines[66], mines[67], mines[68]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[53], mines[54], mines[55], mines[67], mines[68], mines[69]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[54], mines[55], mines[56], mines[68], mines[69], mines[70]], 0, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[1], mines[2], mines[3], mines[15], mines[16], mines[17], mines[29], mines[30], mines[31]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[2], mines[3], mines[4], mines[16], mines[17], mines[18], mines[30], mines[31], mines[32]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[3], mines[4], mines[5], mines[17], mines[18], mines[19], mines[31], mines[32], mines[33]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[4], mines[5], mines[6], mines[18], mines[19], mines[20], mines[32], mines[33], mines[34]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[5], mines[6], mines[7], mines[19], mines[20], mines[21], mines[33], mines[34], mines[35]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[6], mines[7], mines[8], mines[20], mines[21], mines[22], mines[34], mines[35], mines[36]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[7], mines[8], mines[9], mines[21], mines[22], mines[23], mines[35], mines[36], mines[37]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[8], mines[9], mines[10], mines[22], mines[23], mines[24], mines[36], mines[37], mines[38]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[9], mines[10], mines[11], mines[23], mines[24], mines[25], mines[37], mines[38], mines[39]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[10], mines[11], mines[12], mines[24], mines[25], mines[26], mines[38], mines[39], mines[40]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[11], mines[12], mines[13], mines[25], mines[26], mines[27], mines[39], mines[40], mines[41]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[12], mines[13], mines[14], mines[26], mines[27], mines[28], mines[40], mines[41], mines[42]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[16], mines[17], mines[18], mines[30], mines[31], mines[32], mines[44], mines[45], mines[46]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[19], mines[20], mines[21], mines[33], mines[34], mines[35], mines[47], mines[48], mines[49]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[22], mines[23], mines[24], mines[36], mines[37], mines[38], mines[50], mines[51], mines[52]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[25], mines[26], mines[27], mines[39], mines[40], mines[41], mines[53], mines[54], mines[55]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[29], mines[30], mines[31], mines[43], mines[44], mines[45], mines[57], mines[58], mines[59]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[30], mines[31], mines[32], mines[44], mines[45], mines[46], mines[58], mines[59], mines[60]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[31], mines[32], mines[33], mines[45], mines[46], mines[47], mines[59], mines[60], mines[61]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[32], mines[33], mines[34], mines[46], mines[47], mines[48], mines[60], mines[61], mines[62]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[33], mines[34], mines[35], mines[47], mines[48], mines[49], mines[61], mines[62], mines[63]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[34], mines[35], mines[36], mines[48], mines[49], mines[50], mines[62], mines[63], mines[64]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[35], mines[36], mines[37], mines[49], mines[50], mines[51], mines[63], mines[64], mines[65]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[36], mines[37], mines[38], mines[50], mines[51], mines[52], mines[64], mines[65], mines[66]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[37], mines[38], mines[39], mines[51], mines[52], mines[53], mines[65], mines[66], mines[67]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[38], mines[39], mines[40], mines[52], mines[53], mines[54], mines[66], mines[67], mines[68]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[39], mines[40], mines[41], mines[53], mines[54], mines[55], mines[67], mines[68], mines[69]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[40], mines[41], mines[42], mines[54], mines[55], mines[56], mines[68], mines[69], mines[70]], -1, true); solve :: int_search([mines[1], mines[2], mines[3], mines[4], mines[5], mines[6], mines[7], mines[8], mines[9], mines[10], mines[11], mines[12], mines[13], mines[14], mines[15], mines[16], mines[17], mines[18], mines[19], mines[20], mines[21], mines[22], mines[23], mines[24], mines[25], mines[26], mines[27], mines[28], mines[29], mines[30], mines[31], mines[32], mines[33], mines[34], mines[35], mines[36], mines[37], mines[38], mines[39], mines[40], mines[41], mines[42], mines[43], mines[44], mines[45], mines[46], mines[47], mines[48], mines[49], mines[50], mines[51], mines[52], mines[53], mines[54], mines[55], mines[56], mines[57], mines[58], mines[59], mines[60], mines[61], mines[62], mines[63], mines[64], mines[65], mines[66], mines[67], mines[68], mines[69], mines[70]], first_fail, indomain, complete) satisfy;