forked from google/or-tools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
bin_packing_me.fzn
178 lines (178 loc) · 44.7 KB
/
bin_packing_me.fzn
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
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);
array [1..45] of int: stuff = [26, 57, 18, 8, 45, 16, 22, 29, 5, 11, 8, 27, 54, 13, 17, 21, 63, 14, 16, 45, 6, 32, 57, 24, 18, 27, 54, 35, 12, 43, 36, 72, 14, 28, 3, 11, 46, 27, 42, 59, 26, 41, 15, 41, 68];
var bool: BOOL____00001 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00003 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00005 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00007 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00009 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00011 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00013 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00015 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00017 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00019 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00021 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00023 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00025 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00027 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00029 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00031 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00033 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00035 :: is_defined_var :: var_is_introduced;
var bool: BOOL____00037 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00002 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00004 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00006 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00008 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00010 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00012 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00014 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00016 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00018 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00020 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00022 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00024 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00026 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00028 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00030 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00032 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00034 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00036 :: is_defined_var :: var_is_introduced;
var 0..1: INT____00038 :: is_defined_var :: var_is_introduced;
var 0..19: INT____00039 :: is_defined_var :: var_is_introduced;
array [1..19] of var 0..80: bin_loads :: output_array([1..19]);
array [1..855] of var 0..1: bins :: output_array([1..19, 1..45]);
var 0..19: num_loaded_bins :: output_var = INT____00039;
constraint bool2int(BOOL____00001, INT____00002) :: defines_var(INT____00002);
constraint bool2int(BOOL____00003, INT____00004) :: defines_var(INT____00004);
constraint bool2int(BOOL____00005, INT____00006) :: defines_var(INT____00006);
constraint bool2int(BOOL____00007, INT____00008) :: defines_var(INT____00008);
constraint bool2int(BOOL____00009, INT____00010) :: defines_var(INT____00010);
constraint bool2int(BOOL____00011, INT____00012) :: defines_var(INT____00012);
constraint bool2int(BOOL____00013, INT____00014) :: defines_var(INT____00014);
constraint bool2int(BOOL____00015, INT____00016) :: defines_var(INT____00016);
constraint bool2int(BOOL____00017, INT____00018) :: defines_var(INT____00018);
constraint bool2int(BOOL____00019, INT____00020) :: defines_var(INT____00020);
constraint bool2int(BOOL____00021, INT____00022) :: defines_var(INT____00022);
constraint bool2int(BOOL____00023, INT____00024) :: defines_var(INT____00024);
constraint bool2int(BOOL____00025, INT____00026) :: defines_var(INT____00026);
constraint bool2int(BOOL____00027, INT____00028) :: defines_var(INT____00028);
constraint bool2int(BOOL____00029, INT____00030) :: defines_var(INT____00030);
constraint bool2int(BOOL____00031, INT____00032) :: defines_var(INT____00032);
constraint bool2int(BOOL____00033, INT____00034) :: defines_var(INT____00034);
constraint bool2int(BOOL____00035, INT____00036) :: defines_var(INT____00036);
constraint bool2int(BOOL____00037, INT____00038) :: defines_var(INT____00038);
constraint int_le(bin_loads[2], bin_loads[1]) :: domain;
constraint int_le(bin_loads[3], bin_loads[2]) :: domain;
constraint int_le(bin_loads[4], bin_loads[3]) :: domain;
constraint int_le(bin_loads[5], bin_loads[4]) :: domain;
constraint int_le(bin_loads[6], bin_loads[5]) :: domain;
constraint int_le(bin_loads[7], bin_loads[6]) :: domain;
constraint int_le(bin_loads[8], bin_loads[7]) :: domain;
constraint int_le(bin_loads[9], bin_loads[8]) :: domain;
constraint int_le(bin_loads[10], bin_loads[9]) :: domain;
constraint int_le(bin_loads[11], bin_loads[10]) :: domain;
constraint int_le(bin_loads[12], bin_loads[11]) :: domain;
constraint int_le(bin_loads[13], bin_loads[12]) :: domain;
constraint int_le(bin_loads[14], bin_loads[13]) :: domain;
constraint int_le(bin_loads[15], bin_loads[14]) :: domain;
constraint int_le(bin_loads[16], bin_loads[15]) :: domain;
constraint int_le(bin_loads[17], bin_loads[16]) :: domain;
constraint int_le(bin_loads[18], bin_loads[17]) :: domain;
constraint int_le(bin_loads[19], bin_loads[18]) :: domain;
constraint int_lin_eq([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [bin_loads[1], bin_loads[2], bin_loads[3], bin_loads[4], bin_loads[5], bin_loads[6], bin_loads[7], bin_loads[8], bin_loads[9], bin_loads[10], bin_loads[11], bin_loads[12], bin_loads[13], bin_loads[14], bin_loads[15], bin_loads[16], bin_loads[17], bin_loads[18], bin_loads[19]], -1352);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[1], bins[46], bins[91], bins[136], bins[181], bins[226], bins[271], bins[316], bins[361], bins[406], bins[451], bins[496], bins[541], bins[586], bins[631], bins[676], bins[721], bins[766], bins[811]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[2], bins[47], bins[92], bins[137], bins[182], bins[227], bins[272], bins[317], bins[362], bins[407], bins[452], bins[497], bins[542], bins[587], bins[632], bins[677], bins[722], bins[767], bins[812]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[3], bins[48], bins[93], bins[138], bins[183], bins[228], bins[273], bins[318], bins[363], bins[408], bins[453], bins[498], bins[543], bins[588], bins[633], bins[678], bins[723], bins[768], bins[813]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[4], bins[49], bins[94], bins[139], bins[184], bins[229], bins[274], bins[319], bins[364], bins[409], bins[454], bins[499], bins[544], bins[589], bins[634], bins[679], bins[724], bins[769], bins[814]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[5], bins[50], bins[95], bins[140], bins[185], bins[230], bins[275], bins[320], bins[365], bins[410], bins[455], bins[500], bins[545], bins[590], bins[635], bins[680], bins[725], bins[770], bins[815]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[6], bins[51], bins[96], bins[141], bins[186], bins[231], bins[276], bins[321], bins[366], bins[411], bins[456], bins[501], bins[546], bins[591], bins[636], bins[681], bins[726], bins[771], bins[816]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[7], bins[52], bins[97], bins[142], bins[187], bins[232], bins[277], bins[322], bins[367], bins[412], bins[457], bins[502], bins[547], bins[592], bins[637], bins[682], bins[727], bins[772], bins[817]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[8], bins[53], bins[98], bins[143], bins[188], bins[233], bins[278], bins[323], bins[368], bins[413], bins[458], bins[503], bins[548], bins[593], bins[638], bins[683], bins[728], bins[773], bins[818]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[9], bins[54], bins[99], bins[144], bins[189], bins[234], bins[279], bins[324], bins[369], bins[414], bins[459], bins[504], bins[549], bins[594], bins[639], bins[684], bins[729], bins[774], bins[819]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[10], bins[55], bins[100], bins[145], bins[190], bins[235], bins[280], bins[325], bins[370], bins[415], bins[460], bins[505], bins[550], bins[595], bins[640], bins[685], bins[730], bins[775], bins[820]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[11], bins[56], bins[101], bins[146], bins[191], bins[236], bins[281], bins[326], bins[371], bins[416], bins[461], bins[506], bins[551], bins[596], bins[641], bins[686], bins[731], bins[776], bins[821]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[12], bins[57], bins[102], bins[147], bins[192], bins[237], bins[282], bins[327], bins[372], bins[417], bins[462], bins[507], bins[552], bins[597], bins[642], bins[687], bins[732], bins[777], bins[822]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[13], bins[58], bins[103], bins[148], bins[193], bins[238], bins[283], bins[328], bins[373], bins[418], bins[463], bins[508], bins[553], bins[598], bins[643], bins[688], bins[733], bins[778], bins[823]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[14], bins[59], bins[104], bins[149], bins[194], bins[239], bins[284], bins[329], bins[374], bins[419], bins[464], bins[509], bins[554], bins[599], bins[644], bins[689], bins[734], bins[779], bins[824]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[15], bins[60], bins[105], bins[150], bins[195], bins[240], bins[285], bins[330], bins[375], bins[420], bins[465], bins[510], bins[555], bins[600], bins[645], bins[690], bins[735], bins[780], bins[825]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[16], bins[61], bins[106], bins[151], bins[196], bins[241], bins[286], bins[331], bins[376], bins[421], bins[466], bins[511], bins[556], bins[601], bins[646], bins[691], bins[736], bins[781], bins[826]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[17], bins[62], bins[107], bins[152], bins[197], bins[242], bins[287], bins[332], bins[377], bins[422], bins[467], bins[512], bins[557], bins[602], bins[647], bins[692], bins[737], bins[782], bins[827]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[18], bins[63], bins[108], bins[153], bins[198], bins[243], bins[288], bins[333], bins[378], bins[423], bins[468], bins[513], bins[558], bins[603], bins[648], bins[693], bins[738], bins[783], bins[828]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[19], bins[64], bins[109], bins[154], bins[199], bins[244], bins[289], bins[334], bins[379], bins[424], bins[469], bins[514], bins[559], bins[604], bins[649], bins[694], bins[739], bins[784], bins[829]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[20], bins[65], bins[110], bins[155], bins[200], bins[245], bins[290], bins[335], bins[380], bins[425], bins[470], bins[515], bins[560], bins[605], bins[650], bins[695], bins[740], bins[785], bins[830]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[21], bins[66], bins[111], bins[156], bins[201], bins[246], bins[291], bins[336], bins[381], bins[426], bins[471], bins[516], bins[561], bins[606], bins[651], bins[696], bins[741], bins[786], bins[831]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[22], bins[67], bins[112], bins[157], bins[202], bins[247], bins[292], bins[337], bins[382], bins[427], bins[472], bins[517], bins[562], bins[607], bins[652], bins[697], bins[742], bins[787], bins[832]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[23], bins[68], bins[113], bins[158], bins[203], bins[248], bins[293], bins[338], bins[383], bins[428], bins[473], bins[518], bins[563], bins[608], bins[653], bins[698], bins[743], bins[788], bins[833]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[24], bins[69], bins[114], bins[159], bins[204], bins[249], bins[294], bins[339], bins[384], bins[429], bins[474], bins[519], bins[564], bins[609], bins[654], bins[699], bins[744], bins[789], bins[834]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[25], bins[70], bins[115], bins[160], bins[205], bins[250], bins[295], bins[340], bins[385], bins[430], bins[475], bins[520], bins[565], bins[610], bins[655], bins[700], bins[745], bins[790], bins[835]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[26], bins[71], bins[116], bins[161], bins[206], bins[251], bins[296], bins[341], bins[386], bins[431], bins[476], bins[521], bins[566], bins[611], bins[656], bins[701], bins[746], bins[791], bins[836]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[27], bins[72], bins[117], bins[162], bins[207], bins[252], bins[297], bins[342], bins[387], bins[432], bins[477], bins[522], bins[567], bins[612], bins[657], bins[702], bins[747], bins[792], bins[837]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[28], bins[73], bins[118], bins[163], bins[208], bins[253], bins[298], bins[343], bins[388], bins[433], bins[478], bins[523], bins[568], bins[613], bins[658], bins[703], bins[748], bins[793], bins[838]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[29], bins[74], bins[119], bins[164], bins[209], bins[254], bins[299], bins[344], bins[389], bins[434], bins[479], bins[524], bins[569], bins[614], bins[659], bins[704], bins[749], bins[794], bins[839]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[30], bins[75], bins[120], bins[165], bins[210], bins[255], bins[300], bins[345], bins[390], bins[435], bins[480], bins[525], bins[570], bins[615], bins[660], bins[705], bins[750], bins[795], bins[840]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[31], bins[76], bins[121], bins[166], bins[211], bins[256], bins[301], bins[346], bins[391], bins[436], bins[481], bins[526], bins[571], bins[616], bins[661], bins[706], bins[751], bins[796], bins[841]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[32], bins[77], bins[122], bins[167], bins[212], bins[257], bins[302], bins[347], bins[392], bins[437], bins[482], bins[527], bins[572], bins[617], bins[662], bins[707], bins[752], bins[797], bins[842]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[33], bins[78], bins[123], bins[168], bins[213], bins[258], bins[303], bins[348], bins[393], bins[438], bins[483], bins[528], bins[573], bins[618], bins[663], bins[708], bins[753], bins[798], bins[843]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[34], bins[79], bins[124], bins[169], bins[214], bins[259], bins[304], bins[349], bins[394], bins[439], bins[484], bins[529], bins[574], bins[619], bins[664], bins[709], bins[754], bins[799], bins[844]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[35], bins[80], bins[125], bins[170], bins[215], bins[260], bins[305], bins[350], bins[395], bins[440], bins[485], bins[530], bins[575], bins[620], bins[665], bins[710], bins[755], bins[800], bins[845]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[36], bins[81], bins[126], bins[171], bins[216], bins[261], bins[306], bins[351], bins[396], bins[441], bins[486], bins[531], bins[576], bins[621], bins[666], bins[711], bins[756], bins[801], bins[846]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[37], bins[82], bins[127], bins[172], bins[217], bins[262], bins[307], bins[352], bins[397], bins[442], bins[487], bins[532], bins[577], bins[622], bins[667], bins[712], bins[757], bins[802], bins[847]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[38], bins[83], bins[128], bins[173], bins[218], bins[263], bins[308], bins[353], bins[398], bins[443], bins[488], bins[533], bins[578], bins[623], bins[668], bins[713], bins[758], bins[803], bins[848]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[39], bins[84], bins[129], bins[174], bins[219], bins[264], bins[309], bins[354], bins[399], bins[444], bins[489], bins[534], bins[579], bins[624], bins[669], bins[714], bins[759], bins[804], bins[849]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[40], bins[85], bins[130], bins[175], bins[220], bins[265], bins[310], bins[355], bins[400], bins[445], bins[490], bins[535], bins[580], bins[625], bins[670], bins[715], bins[760], bins[805], bins[850]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[41], bins[86], bins[131], bins[176], bins[221], bins[266], bins[311], bins[356], bins[401], bins[446], bins[491], bins[536], bins[581], bins[626], bins[671], bins[716], bins[761], bins[806], bins[851]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[42], bins[87], bins[132], bins[177], bins[222], bins[267], bins[312], bins[357], bins[402], bins[447], bins[492], bins[537], bins[582], bins[627], bins[672], bins[717], bins[762], bins[807], bins[852]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[43], bins[88], bins[133], bins[178], bins[223], bins[268], bins[313], bins[358], bins[403], bins[448], bins[493], bins[538], bins[583], bins[628], bins[673], bins[718], bins[763], bins[808], bins[853]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[44], bins[89], bins[134], bins[179], bins[224], bins[269], bins[314], bins[359], bins[404], bins[449], bins[494], bins[539], bins[584], bins[629], bins[674], bins[719], bins[764], bins[809], bins[854]], 1);
constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [bins[45], bins[90], bins[135], bins[180], bins[225], bins[270], bins[315], bins[360], bins[405], bins[450], bins[495], bins[540], bins[585], bins[630], bins[675], bins[720], bins[765], bins[810], bins[855]], 1);
constraint int_lin_eq([-1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [INT____00039, INT____00002, INT____00004, INT____00006, INT____00008, INT____00010, INT____00012, INT____00014, INT____00016, INT____00018, INT____00020, INT____00022, INT____00024, INT____00026, INT____00028, INT____00030, INT____00032, INT____00034, INT____00036, INT____00038], 0) :: defines_var(INT____00039);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[1], bins[1], bins[2], bins[3], bins[4], bins[5], bins[6], bins[7], bins[8], bins[9], bins[10], bins[11], bins[12], bins[13], bins[14], bins[15], bins[16], bins[17], bins[18], bins[19], bins[20], bins[21], bins[22], bins[23], bins[24], bins[25], bins[26], bins[27], bins[28], bins[29], bins[30], bins[31], bins[32], bins[33], bins[34], bins[35], bins[36], bins[37], bins[38], bins[39], bins[40], bins[41], bins[42], bins[43], bins[44], bins[45]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[2], bins[46], bins[47], bins[48], bins[49], bins[50], bins[51], bins[52], bins[53], bins[54], bins[55], bins[56], bins[57], bins[58], bins[59], bins[60], bins[61], bins[62], bins[63], bins[64], bins[65], bins[66], bins[67], bins[68], bins[69], bins[70], bins[71], bins[72], bins[73], bins[74], bins[75], bins[76], bins[77], bins[78], bins[79], bins[80], bins[81], bins[82], bins[83], bins[84], bins[85], bins[86], bins[87], bins[88], bins[89], bins[90]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[3], bins[91], bins[92], bins[93], bins[94], bins[95], bins[96], bins[97], bins[98], bins[99], bins[100], bins[101], bins[102], bins[103], bins[104], bins[105], bins[106], bins[107], bins[108], bins[109], bins[110], bins[111], bins[112], bins[113], bins[114], bins[115], bins[116], bins[117], bins[118], bins[119], bins[120], bins[121], bins[122], bins[123], bins[124], bins[125], bins[126], bins[127], bins[128], bins[129], bins[130], bins[131], bins[132], bins[133], bins[134], bins[135]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[4], bins[136], bins[137], bins[138], bins[139], bins[140], bins[141], bins[142], bins[143], bins[144], bins[145], bins[146], bins[147], bins[148], bins[149], bins[150], bins[151], bins[152], bins[153], bins[154], bins[155], bins[156], bins[157], bins[158], bins[159], bins[160], bins[161], bins[162], bins[163], bins[164], bins[165], bins[166], bins[167], bins[168], bins[169], bins[170], bins[171], bins[172], bins[173], bins[174], bins[175], bins[176], bins[177], bins[178], bins[179], bins[180]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[5], bins[181], bins[182], bins[183], bins[184], bins[185], bins[186], bins[187], bins[188], bins[189], bins[190], bins[191], bins[192], bins[193], bins[194], bins[195], bins[196], bins[197], bins[198], bins[199], bins[200], bins[201], bins[202], bins[203], bins[204], bins[205], bins[206], bins[207], bins[208], bins[209], bins[210], bins[211], bins[212], bins[213], bins[214], bins[215], bins[216], bins[217], bins[218], bins[219], bins[220], bins[221], bins[222], bins[223], bins[224], bins[225]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[6], bins[226], bins[227], bins[228], bins[229], bins[230], bins[231], bins[232], bins[233], bins[234], bins[235], bins[236], bins[237], bins[238], bins[239], bins[240], bins[241], bins[242], bins[243], bins[244], bins[245], bins[246], bins[247], bins[248], bins[249], bins[250], bins[251], bins[252], bins[253], bins[254], bins[255], bins[256], bins[257], bins[258], bins[259], bins[260], bins[261], bins[262], bins[263], bins[264], bins[265], bins[266], bins[267], bins[268], bins[269], bins[270]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[7], bins[271], bins[272], bins[273], bins[274], bins[275], bins[276], bins[277], bins[278], bins[279], bins[280], bins[281], bins[282], bins[283], bins[284], bins[285], bins[286], bins[287], bins[288], bins[289], bins[290], bins[291], bins[292], bins[293], bins[294], bins[295], bins[296], bins[297], bins[298], bins[299], bins[300], bins[301], bins[302], bins[303], bins[304], bins[305], bins[306], bins[307], bins[308], bins[309], bins[310], bins[311], bins[312], bins[313], bins[314], bins[315]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[8], bins[316], bins[317], bins[318], bins[319], bins[320], bins[321], bins[322], bins[323], bins[324], bins[325], bins[326], bins[327], bins[328], bins[329], bins[330], bins[331], bins[332], bins[333], bins[334], bins[335], bins[336], bins[337], bins[338], bins[339], bins[340], bins[341], bins[342], bins[343], bins[344], bins[345], bins[346], bins[347], bins[348], bins[349], bins[350], bins[351], bins[352], bins[353], bins[354], bins[355], bins[356], bins[357], bins[358], bins[359], bins[360]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[9], bins[361], bins[362], bins[363], bins[364], bins[365], bins[366], bins[367], bins[368], bins[369], bins[370], bins[371], bins[372], bins[373], bins[374], bins[375], bins[376], bins[377], bins[378], bins[379], bins[380], bins[381], bins[382], bins[383], bins[384], bins[385], bins[386], bins[387], bins[388], bins[389], bins[390], bins[391], bins[392], bins[393], bins[394], bins[395], bins[396], bins[397], bins[398], bins[399], bins[400], bins[401], bins[402], bins[403], bins[404], bins[405]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[10], bins[406], bins[407], bins[408], bins[409], bins[410], bins[411], bins[412], bins[413], bins[414], bins[415], bins[416], bins[417], bins[418], bins[419], bins[420], bins[421], bins[422], bins[423], bins[424], bins[425], bins[426], bins[427], bins[428], bins[429], bins[430], bins[431], bins[432], bins[433], bins[434], bins[435], bins[436], bins[437], bins[438], bins[439], bins[440], bins[441], bins[442], bins[443], bins[444], bins[445], bins[446], bins[447], bins[448], bins[449], bins[450]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[11], bins[451], bins[452], bins[453], bins[454], bins[455], bins[456], bins[457], bins[458], bins[459], bins[460], bins[461], bins[462], bins[463], bins[464], bins[465], bins[466], bins[467], bins[468], bins[469], bins[470], bins[471], bins[472], bins[473], bins[474], bins[475], bins[476], bins[477], bins[478], bins[479], bins[480], bins[481], bins[482], bins[483], bins[484], bins[485], bins[486], bins[487], bins[488], bins[489], bins[490], bins[491], bins[492], bins[493], bins[494], bins[495]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[12], bins[496], bins[497], bins[498], bins[499], bins[500], bins[501], bins[502], bins[503], bins[504], bins[505], bins[506], bins[507], bins[508], bins[509], bins[510], bins[511], bins[512], bins[513], bins[514], bins[515], bins[516], bins[517], bins[518], bins[519], bins[520], bins[521], bins[522], bins[523], bins[524], bins[525], bins[526], bins[527], bins[528], bins[529], bins[530], bins[531], bins[532], bins[533], bins[534], bins[535], bins[536], bins[537], bins[538], bins[539], bins[540]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[13], bins[541], bins[542], bins[543], bins[544], bins[545], bins[546], bins[547], bins[548], bins[549], bins[550], bins[551], bins[552], bins[553], bins[554], bins[555], bins[556], bins[557], bins[558], bins[559], bins[560], bins[561], bins[562], bins[563], bins[564], bins[565], bins[566], bins[567], bins[568], bins[569], bins[570], bins[571], bins[572], bins[573], bins[574], bins[575], bins[576], bins[577], bins[578], bins[579], bins[580], bins[581], bins[582], bins[583], bins[584], bins[585]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[14], bins[586], bins[587], bins[588], bins[589], bins[590], bins[591], bins[592], bins[593], bins[594], bins[595], bins[596], bins[597], bins[598], bins[599], bins[600], bins[601], bins[602], bins[603], bins[604], bins[605], bins[606], bins[607], bins[608], bins[609], bins[610], bins[611], bins[612], bins[613], bins[614], bins[615], bins[616], bins[617], bins[618], bins[619], bins[620], bins[621], bins[622], bins[623], bins[624], bins[625], bins[626], bins[627], bins[628], bins[629], bins[630]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[15], bins[631], bins[632], bins[633], bins[634], bins[635], bins[636], bins[637], bins[638], bins[639], bins[640], bins[641], bins[642], bins[643], bins[644], bins[645], bins[646], bins[647], bins[648], bins[649], bins[650], bins[651], bins[652], bins[653], bins[654], bins[655], bins[656], bins[657], bins[658], bins[659], bins[660], bins[661], bins[662], bins[663], bins[664], bins[665], bins[666], bins[667], bins[668], bins[669], bins[670], bins[671], bins[672], bins[673], bins[674], bins[675]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[16], bins[676], bins[677], bins[678], bins[679], bins[680], bins[681], bins[682], bins[683], bins[684], bins[685], bins[686], bins[687], bins[688], bins[689], bins[690], bins[691], bins[692], bins[693], bins[694], bins[695], bins[696], bins[697], bins[698], bins[699], bins[700], bins[701], bins[702], bins[703], bins[704], bins[705], bins[706], bins[707], bins[708], bins[709], bins[710], bins[711], bins[712], bins[713], bins[714], bins[715], bins[716], bins[717], bins[718], bins[719], bins[720]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[17], bins[721], bins[722], bins[723], bins[724], bins[725], bins[726], bins[727], bins[728], bins[729], bins[730], bins[731], bins[732], bins[733], bins[734], bins[735], bins[736], bins[737], bins[738], bins[739], bins[740], bins[741], bins[742], bins[743], bins[744], bins[745], bins[746], bins[747], bins[748], bins[749], bins[750], bins[751], bins[752], bins[753], bins[754], bins[755], bins[756], bins[757], bins[758], bins[759], bins[760], bins[761], bins[762], bins[763], bins[764], bins[765]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[18], bins[766], bins[767], bins[768], bins[769], bins[770], bins[771], bins[772], bins[773], bins[774], bins[775], bins[776], bins[777], bins[778], bins[779], bins[780], bins[781], bins[782], bins[783], bins[784], bins[785], bins[786], bins[787], bins[788], bins[789], bins[790], bins[791], bins[792], bins[793], bins[794], bins[795], bins[796], bins[797], bins[798], bins[799], bins[800], bins[801], bins[802], bins[803], bins[804], bins[805], bins[806], bins[807], bins[808], bins[809], bins[810]], 0);
constraint int_lin_eq([1, -26, -57, -18, -8, -45, -16, -22, -29, -5, -11, -8, -27, -54, -13, -17, -21, -63, -14, -16, -45, -6, -32, -57, -24, -18, -27, -54, -35, -12, -43, -36, -72, -14, -28, -3, -11, -46, -27, -42, -59, -26, -41, -15, -41, -68], [bin_loads[19], bins[811], bins[812], bins[813], bins[814], bins[815], bins[816], bins[817], bins[818], bins[819], bins[820], bins[821], bins[822], bins[823], bins[824], bins[825], bins[826], bins[827], bins[828], bins[829], bins[830], bins[831], bins[832], bins[833], bins[834], bins[835], bins[836], bins[837], bins[838], bins[839], bins[840], bins[841], bins[842], bins[843], bins[844], bins[845], bins[846], bins[847], bins[848], bins[849], bins[850], bins[851], bins[852], bins[853], bins[854], bins[855]], 0);
constraint int_lt(0, bin_loads[1]);
constraint int_lt_reif(0, bin_loads[1], BOOL____00001) :: defines_var(BOOL____00001);
constraint int_lt_reif(0, bin_loads[2], BOOL____00003) :: defines_var(BOOL____00003);
constraint int_lt_reif(0, bin_loads[3], BOOL____00005) :: defines_var(BOOL____00005);
constraint int_lt_reif(0, bin_loads[4], BOOL____00007) :: defines_var(BOOL____00007);
constraint int_lt_reif(0, bin_loads[5], BOOL____00009) :: defines_var(BOOL____00009);
constraint int_lt_reif(0, bin_loads[6], BOOL____00011) :: defines_var(BOOL____00011);
constraint int_lt_reif(0, bin_loads[7], BOOL____00013) :: defines_var(BOOL____00013);
constraint int_lt_reif(0, bin_loads[8], BOOL____00015) :: defines_var(BOOL____00015);
constraint int_lt_reif(0, bin_loads[9], BOOL____00017) :: defines_var(BOOL____00017);
constraint int_lt_reif(0, bin_loads[10], BOOL____00019) :: defines_var(BOOL____00019);
constraint int_lt_reif(0, bin_loads[11], BOOL____00021) :: defines_var(BOOL____00021);
constraint int_lt_reif(0, bin_loads[12], BOOL____00023) :: defines_var(BOOL____00023);
constraint int_lt_reif(0, bin_loads[13], BOOL____00025) :: defines_var(BOOL____00025);
constraint int_lt_reif(0, bin_loads[14], BOOL____00027) :: defines_var(BOOL____00027);
constraint int_lt_reif(0, bin_loads[15], BOOL____00029) :: defines_var(BOOL____00029);
constraint int_lt_reif(0, bin_loads[16], BOOL____00031) :: defines_var(BOOL____00031);
constraint int_lt_reif(0, bin_loads[17], BOOL____00033) :: defines_var(BOOL____00033);
constraint int_lt_reif(0, bin_loads[18], BOOL____00035) :: defines_var(BOOL____00035);
constraint int_lt_reif(0, bin_loads[19], BOOL____00037) :: defines_var(BOOL____00037);
solve :: int_search([bins[1], bins[2], bins[3], bins[4], bins[5], bins[6], bins[7], bins[8], bins[9], bins[10], bins[11], bins[12], bins[13], bins[14], bins[15], bins[16], bins[17], bins[18], bins[19], bins[20], bins[21], bins[22], bins[23], bins[24], bins[25], bins[26], bins[27], bins[28], bins[29], bins[30], bins[31], bins[32], bins[33], bins[34], bins[35], bins[36], bins[37], bins[38], bins[39], bins[40], bins[41], bins[42], bins[43], bins[44], bins[45], bins[46], bins[47], bins[48], bins[49], bins[50], bins[51], bins[52], bins[53], bins[54], bins[55], bins[56], bins[57], bins[58], bins[59], bins[60], bins[61], bins[62], bins[63], bins[64], bins[65], bins[66], bins[67], bins[68], bins[69], bins[70], bins[71], bins[72], bins[73], bins[74], bins[75], bins[76], bins[77], bins[78], bins[79], bins[80], bins[81], bins[82], bins[83], bins[84], bins[85], bins[86], bins[87], bins[88], bins[89], bins[90], bins[91], bins[92], bins[93], bins[94], bins[95], bins[96], bins[97], bins[98], bins[99], bins[100], bins[101], bins[102], bins[103], bins[104], bins[105], bins[106], bins[107], bins[108], bins[109], bins[110], bins[111], bins[112], bins[113], bins[114], bins[115], bins[116], bins[117], bins[118], bins[119], bins[120], bins[121], bins[122], bins[123], bins[124], bins[125], bins[126], bins[127], bins[128], bins[129], bins[130], bins[131], bins[132], bins[133], bins[134], bins[135], bins[136], bins[137], bins[138], bins[139], bins[140], bins[141], bins[142], bins[143], bins[144], bins[145], bins[146], bins[147], bins[148], bins[149], bins[150], bins[151], bins[152], bins[153], bins[154], bins[155], bins[156], bins[157], bins[158], bins[159], bins[160], bins[161], bins[162], bins[163], bins[164], bins[165], bins[166], bins[167], bins[168], bins[169], bins[170], bins[171], bins[172], bins[173], bins[174], bins[175], bins[176], bins[177], bins[178], bins[179], bins[180], bins[181], bins[182], bins[183], bins[184], bins[185], bins[186], bins[187], bins[188], bins[189], bins[190], bins[191], bins[192], bins[193], bins[194], bins[195], bins[196], bins[197], bins[198], bins[199], bins[200], bins[201], bins[202], bins[203], bins[204], bins[205], bins[206], bins[207], bins[208], bins[209], bins[210], bins[211], bins[212], bins[213], bins[214], bins[215], bins[216], bins[217], bins[218], bins[219], bins[220], bins[221], bins[222], bins[223], bins[224], bins[225], bins[226], bins[227], bins[228], bins[229], bins[230], bins[231], bins[232], bins[233], bins[234], bins[235], bins[236], bins[237], bins[238], bins[239], bins[240], bins[241], bins[242], bins[243], bins[244], bins[245], bins[246], bins[247], bins[248], bins[249], bins[250], bins[251], bins[252], bins[253], bins[254], bins[255], bins[256], bins[257], bins[258], bins[259], bins[260], bins[261], bins[262], bins[263], bins[264], bins[265], bins[266], bins[267], bins[268], bins[269], bins[270], bins[271], bins[272], bins[273], bins[274], bins[275], bins[276], bins[277], bins[278], bins[279], bins[280], bins[281], bins[282], bins[283], bins[284], bins[285], bins[286], bins[287], bins[288], bins[289], bins[290], bins[291], bins[292], bins[293], bins[294], bins[295], bins[296], bins[297], bins[298], bins[299], bins[300], bins[301], bins[302], bins[303], bins[304], bins[305], bins[306], bins[307], bins[308], bins[309], bins[310], bins[311], bins[312], bins[313], bins[314], bins[315], bins[316], bins[317], bins[318], bins[319], bins[320], bins[321], bins[322], bins[323], bins[324], bins[325], bins[326], bins[327], bins[328], bins[329], bins[330], bins[331], bins[332], bins[333], bins[334], bins[335], bins[336], bins[337], bins[338], bins[339], bins[340], bins[341], bins[342], bins[343], bins[344], bins[345], bins[346], bins[347], bins[348], bins[349], bins[350], bins[351], bins[352], bins[353], bins[354], bins[355], bins[356], bins[357], bins[358], bins[359], bins[360], bins[361], bins[362], bins[363], bins[364], bins[365], bins[366], bins[367], bins[368], bins[369], bins[370], bins[371], bins[372], bins[373], bins[374], bins[375], bins[376], bins[377], bins[378], bins[379], bins[380], bins[381], bins[382], bins[383], bins[384], bins[385], bins[386], bins[387], bins[388], bins[389], bins[390], bins[391], bins[392], bins[393], bins[394], bins[395], bins[396], bins[397], bins[398], bins[399], bins[400], bins[401], bins[402], bins[403], bins[404], bins[405], bins[406], bins[407], bins[408], bins[409], bins[410], bins[411], bins[412], bins[413], bins[414], bins[415], bins[416], bins[417], bins[418], bins[419], bins[420], bins[421], bins[422], bins[423], bins[424], bins[425], bins[426], bins[427], bins[428], bins[429], bins[430], bins[431], bins[432], bins[433], bins[434], bins[435], bins[436], bins[437], bins[438], bins[439], bins[440], bins[441], bins[442], bins[443], bins[444], bins[445], bins[446], bins[447], bins[448], bins[449], bins[450], bins[451], bins[452], bins[453], bins[454], bins[455], bins[456], bins[457], bins[458], bins[459], bins[460], bins[461], bins[462], bins[463], bins[464], bins[465], bins[466], bins[467], bins[468], bins[469], bins[470], bins[471], bins[472], bins[473], bins[474], bins[475], bins[476], bins[477], bins[478], bins[479], bins[480], bins[481], bins[482], bins[483], bins[484], bins[485], bins[486], bins[487], bins[488], bins[489], bins[490], bins[491], bins[492], bins[493], bins[494], bins[495], bins[496], bins[497], bins[498], bins[499], bins[500], bins[501], bins[502], bins[503], bins[504], bins[505], bins[506], bins[507], bins[508], bins[509], bins[510], bins[511], bins[512], bins[513], bins[514], bins[515], bins[516], bins[517], bins[518], bins[519], bins[520], bins[521], bins[522], bins[523], bins[524], bins[525], bins[526], bins[527], bins[528], bins[529], bins[530], bins[531], bins[532], bins[533], bins[534], bins[535], bins[536], bins[537], bins[538], bins[539], bins[540], bins[541], bins[542], bins[543], bins[544], bins[545], bins[546], bins[547], bins[548], bins[549], bins[550], bins[551], bins[552], bins[553], bins[554], bins[555], bins[556], bins[557], bins[558], bins[559], bins[560], bins[561], bins[562], bins[563], bins[564], bins[565], bins[566], bins[567], bins[568], bins[569], bins[570], bins[571], bins[572], bins[573], bins[574], bins[575], bins[576], bins[577], bins[578], bins[579], bins[580], bins[581], bins[582], bins[583], bins[584], bins[585], bins[586], bins[587], bins[588], bins[589], bins[590], bins[591], bins[592], bins[593], bins[594], bins[595], bins[596], bins[597], bins[598], bins[599], bins[600], bins[601], bins[602], bins[603], bins[604], bins[605], bins[606], bins[607], bins[608], bins[609], bins[610], bins[611], bins[612], bins[613], bins[614], bins[615], bins[616], bins[617], bins[618], bins[619], bins[620], bins[621], bins[622], bins[623], bins[624], bins[625], bins[626], bins[627], bins[628], bins[629], bins[630], bins[631], bins[632], bins[633], bins[634], bins[635], bins[636], bins[637], bins[638], bins[639], bins[640], bins[641], bins[642], bins[643], bins[644], bins[645], bins[646], bins[647], bins[648], bins[649], bins[650], bins[651], bins[652], bins[653], bins[654], bins[655], bins[656], bins[657], bins[658], bins[659], bins[660], bins[661], bins[662], bins[663], bins[664], bins[665], bins[666], bins[667], bins[668], bins[669], bins[670], bins[671], bins[672], bins[673], bins[674], bins[675], bins[676], bins[677], bins[678], bins[679], bins[680], bins[681], bins[682], bins[683], bins[684], bins[685], bins[686], bins[687], bins[688], bins[689], bins[690], bins[691], bins[692], bins[693], bins[694], bins[695], bins[696], bins[697], bins[698], bins[699], bins[700], bins[701], bins[702], bins[703], bins[704], bins[705], bins[706], bins[707], bins[708], bins[709], bins[710], bins[711], bins[712], bins[713], bins[714], bins[715], bins[716], bins[717], bins[718], bins[719], bins[720], bins[721], bins[722], bins[723], bins[724], bins[725], bins[726], bins[727], bins[728], bins[729], bins[730], bins[731], bins[732], bins[733], bins[734], bins[735], bins[736], bins[737], bins[738], bins[739], bins[740], bins[741], bins[742], bins[743], bins[744], bins[745], bins[746], bins[747], bins[748], bins[749], bins[750], bins[751], bins[752], bins[753], bins[754], bins[755], bins[756], bins[757], bins[758], bins[759], bins[760], bins[761], bins[762], bins[763], bins[764], bins[765], bins[766], bins[767], bins[768], bins[769], bins[770], bins[771], bins[772], bins[773], bins[774], bins[775], bins[776], bins[777], bins[778], bins[779], bins[780], bins[781], bins[782], bins[783], bins[784], bins[785], bins[786], bins[787], bins[788], bins[789], bins[790], bins[791], bins[792], bins[793], bins[794], bins[795], bins[796], bins[797], bins[798], bins[799], bins[800], bins[801], bins[802], bins[803], bins[804], bins[805], bins[806], bins[807], bins[808], bins[809], bins[810], bins[811], bins[812], bins[813], bins[814], bins[815], bins[816], bins[817], bins[818], bins[819], bins[820], bins[821], bins[822], bins[823], bins[824], bins[825], bins[826], bins[827], bins[828], bins[829], bins[830], bins[831], bins[832], bins[833], bins[834], bins[835], bins[836], bins[837], bins[838], bins[839], bins[840], bins[841], bins[842], bins[843], bins[844], bins[845], bins[846], bins[847], bins[848], bins[849], bins[850], bins[851], bins[852], bins[853], bins[854], bins[855]], input_order, indomain_max, complete) minimize INT____00039;