File size: 231,784 Bytes
aff484f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
task_name,problem_type,instruction,instance,solution,obj,instance_variant,solution_variant,context_index,input_format,input_index_base
CFLP,CFLP,"Recently the city revisited its pickup plan: decide which transfer stations should be in operation and for every block pick a single active station that will collect its rubbish. No station can be given more than it can deal with, and every block must be assigned to exactly one open station. What counts as a better plan is a lower overall expense β€” add up the startup cost of every station that gets switched on and the hauling cost for every block’s trip to its station; the total should be as small as possible. The exact figures and options are shown underneath.

{
  ""num_stations"": 2,
  ""num_blocks"": 5,
  ""stations"": [
    {
      ""station_id"": ""F1"",
      ""startup_cost"": 525.0,
      ""handling_capacity"": 256.0
    },
    {
      ""station_id"": ""F2"",
      ""startup_cost"": 243.0,
      ""handling_capacity"": 376.0
    }
  ],
  ""blocks"": [
    {
      ""block_id"": 1,
      ""waste_amount"": 12.0
    },
    {
      ""block_id"": 2,
      ""waste_amount"": 18.0
    },
    {
      ""block_id"": 3,
      ""waste_amount"": 12.0
    },
    {
      ""block_id"": 4,
      ""waste_amount"": 13.0
    },
    {
      ""block_id"": 5,
      ""waste_amount"": 18.0
    }
  ],
  ""hauls"": [
    {
      ""station_id"": ""F1"",
      ""block_id"": 1,
      ""haul_cost"": 94.0
    },
    {
      ""station_id"": ""F1"",
      ""block_id"": 2,
      ""haul_cost"": 71.0
    },
    {
      ""station_id"": ""F1"",
      ""block_id"": 3,
      ""haul_cost"": 391.0
    },
    {
      ""station_id"": ""F1"",
      ""block_id"": 4,
      ""haul_cost"": 282.0
    },
    {
      ""station_id"": ""F1"",
      ""block_id"": 5,
      ""haul_cost"": 1361.0
    },
    {
      ""station_id"": ""F2"",
      ""block_id"": 1,
      ""haul_cost"": 76.0
    },
    {
      ""station_id"": ""F2"",
      ""block_id"": 2,
      ""haul_cost"": 65.0
    },
    {
      ""station_id"": ""F2"",
      ""block_id"": 3,
      ""haul_cost"": 78.0
    },
    {
      ""station_id"": ""F2"",
      ""block_id"": 4,
      ""haul_cost"": 162.0
    },
    {
      ""station_id"": ""F2"",
      ""block_id"": 5,
      ""haul_cost"": 602.0
    }
  ]
}

One more thing β€” when you send back the plan, please use this simple JSON shape so it's easy to check:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_open_station>, <chosen_open_station>, ...]
  }
}

""selected"" is where you list the transfer stations you decide to turn on. ""assignments"" is a list (in block order) showing which open station each block is assigned to. Think of it like filling out a form: a short list of active sites and then, for every block, the one chosen station.

This is just a sketch of the expected shape β€” not the actual answer.

Please use the exact identifiers from the instance input, with no renaming and no invented labels. For example:
Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [525.0, 243.0], 'capacities': [256.0, 376.0], 'connection_costs': [[94.0, 71.0, 391.0, 282.0, 1361.0], [76.0, 65.0, 78.0, 162.0, 602.0]], 'demands': [12.0, 18.0, 12.0, 13.0, 18.0], 'objective': 1226.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1]}",1226.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 525.0, 'capacity': 256.0}, {'id': 'F2', 'opening_cost': 243.0, 'capacity': 376.0}], 'customers': [{'id': 1, 'demand': 12.0}, {'id': 2, 'demand': 18.0}, {'id': 3, 'demand': 12.0}, {'id': 4, 'demand': 13.0}, {'id': 5, 'demand': 18.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 94.0}, {'facility': 'F1', 'customer': 2, 'cost': 71.0}, {'facility': 'F1', 'customer': 3, 'cost': 391.0}, {'facility': 'F1', 'customer': 4, 'cost': 282.0}, {'facility': 'F1', 'customer': 5, 'cost': 1361.0}, {'facility': 'F2', 'customer': 1, 'cost': 76.0}, {'facility': 'F2', 'customer': 2, 'cost': 65.0}, {'facility': 'F2', 'customer': 3, 'cost': 78.0}, {'facility': 'F2', 'customer': 4, 'cost': 162.0}, {'facility': 'F2', 'customer': 5, 'cost': 602.0}], 'objective': 1226.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2']}",1,json,1
CFLP,CFLP,"Recently the team sat down with a map of stores and candidate depots and boiled the task down: open some depots, and send each store’s whole order to a single open depot (no partial shipments, all stores covered), while not overloading any depot beyond its capacity. The way to judge plans is by their total cost β€” just add up depot activation fees and the delivery costs to the stores β€” and pick the smallest. The concrete details will be shown below.

Below the team lists 3 candidate depots and 7 stores.
The team notes depot F1 has an activation fee of 296.0 and a handling capacity of 504.0.
The team notes depot F2 has an activation fee of 373.0 and a handling capacity of 415.0.
The team notes depot F3 has an activation fee of 329.0 and a handling capacity of 456.0.
The team notes store A has demand 17.0.
The team notes store B has demand 48.0.
The team notes store C has demand 31.0.
The team notes store D has demand 44.0.
The team notes store E has demand 45.0.
The team notes store F has demand 26.0.
The team notes store G has demand 24.0.
The team notes assigning store A to depot F1 incurs delivery cost 348.0.
The team notes assigning store B to depot F1 incurs delivery cost 33.0.
The team notes assigning store C to depot F1 incurs delivery cost 329.0.
The team notes assigning store D to depot F1 incurs delivery cost 99.0.
The team notes assigning store E to depot F1 incurs delivery cost 310.0.
The team notes assigning store F to depot F1 incurs delivery cost 285.0.
The team notes assigning store G to depot F1 incurs delivery cost 149.0.
The team notes assigning store A to depot F2 incurs delivery cost 598.0.
The team notes assigning store B to depot F2 incurs delivery cost 323.0.
The team notes assigning store C to depot F2 incurs delivery cost 157.0.
The team notes assigning store D to depot F2 incurs delivery cost 410.0.
The team notes assigning store E to depot F2 incurs delivery cost 501.0.
The team notes assigning store F to depot F2 incurs delivery cost 594.0.
The team notes assigning store G to depot F2 incurs delivery cost 184.0.
The team notes assigning store A to depot F3 incurs delivery cost 691.0.
The team notes assigning store B to depot F3 incurs delivery cost 374.0.
The team notes assigning store C to depot F3 incurs delivery cost 387.0.
The team notes assigning store D to depot F3 incurs delivery cost 434.0.
The team notes assigning store E to depot F3 incurs delivery cost 632.0.
The team notes assigning store F to depot F3 incurs delivery cost 610.0.
The team notes assigning store G to depot F3 incurs delivery cost 311.0.
The team will evaluate plans by summing depot activation fees and delivery costs for the 3 depots and 7 stores.

And just so we're on the same page about the output format, please return your plan using this simple JSON layout below β€” it’s just the shape I expect, nothing fancy.

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
  }
}

Think of ""selected"" as the list of depots you decide to open, and ""assignments"" as, for each store (in the same order they appear in the instance), which open depot will handle that store. Easy, informal β€” like filling out a short form.

This JSON is only a sketch of the expected shape, not the actual answer. Also, please use the exact identifiers from the instance input β€” do not rename them or invent new labels. For example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [296.0, 373.0, 329.0], 'capacities': [504.0, 415.0, 456.0], 'connection_costs': [[348.0, 33.0, 329.0, 99.0, 310.0, 285.0, 149.0], [598.0, 323.0, 157.0, 410.0, 501.0, 594.0, 184.0], [691.0, 374.0, 387.0, 434.0, 632.0, 610.0, 311.0]], 'demands': [17.0, 48.0, 31.0, 44.0, 45.0, 26.0, 24.0], 'objective': 1849.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0, 0, 0]}",1849.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 296.0, 'capacity': 504.0}, {'id': 'F2', 'opening_cost': 373.0, 'capacity': 415.0}, {'id': 'F3', 'opening_cost': 329.0, 'capacity': 456.0}], 'customers': [{'id': 'A', 'demand': 17.0}, {'id': 'B', 'demand': 48.0}, {'id': 'C', 'demand': 31.0}, {'id': 'D', 'demand': 44.0}, {'id': 'E', 'demand': 45.0}, {'id': 'F', 'demand': 26.0}, {'id': 'G', 'demand': 24.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 348.0}, {'facility': 'F1', 'customer': 'B', 'cost': 33.0}, {'facility': 'F1', 'customer': 'C', 'cost': 329.0}, {'facility': 'F1', 'customer': 'D', 'cost': 99.0}, {'facility': 'F1', 'customer': 'E', 'cost': 310.0}, {'facility': 'F1', 'customer': 'F', 'cost': 285.0}, {'facility': 'F1', 'customer': 'G', 'cost': 149.0}, {'facility': 'F2', 'customer': 'A', 'cost': 598.0}, {'facility': 'F2', 'customer': 'B', 'cost': 323.0}, {'facility': 'F2', 'customer': 'C', 'cost': 157.0}, {'facility': 'F2', 'customer': 'D', 'cost': 410.0}, {'facility': 'F2', 'customer': 'E', 'cost': 501.0}, {'facility': 'F2', 'customer': 'F', 'cost': 594.0}, {'facility': 'F2', 'customer': 'G', 'cost': 184.0}, {'facility': 'F3', 'customer': 'A', 'cost': 691.0}, {'facility': 'F3', 'customer': 'B', 'cost': 374.0}, {'facility': 'F3', 'customer': 'C', 'cost': 387.0}, {'facility': 'F3', 'customer': 'D', 'cost': 434.0}, {'facility': 'F3', 'customer': 'E', 'cost': 632.0}, {'facility': 'F3', 'customer': 'F', 'cost': 610.0}, {'facility': 'F3', 'customer': 'G', 'cost': 311.0}], 'objective': 1849.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1']}",2,nl,names
CFLP,CFLP,"As the person running the lunch operation, the job is to decide which kitchens to staff and which single kitchen will serve each school. No school can be split between kitchens and each kitchen only has so much output it can produce. Plans are compared by their total cost β€” just add the staffing bill for the kitchens that are staffed to the food-transport costs for all school deliveries β€” smaller totals win. No school may be left unserved and no kitchen may go over its production limit; the actual figures are provided below.

# num_kitchens=3
# num_schools=7
# KITCHENS
kitchen_id,staffing_cost,production_capacity
F1,400.0,1382.0
F2,400.0,1335.0
F3,400.0,1331.0
# SCHOOLS
school_id,meal_demand
0,11.0
1,42.0
2,17.0
3,31.0
4,42.0
5,43.0
6,45.0
# DELIVERYS
kitchen_id,school_id,delivery_cost
F1,0,262.0
F1,1,652.0
F1,2,734.0
F1,3,364.0
F1,4,568.0
F1,5,520.0
F1,6,200.0
F2,0,686.0
F2,1,274.0
F2,2,114.0
F2,3,502.0
F2,4,300.0
F2,5,282.0
F2,6,600.0
F3,0,544.0
F3,1,338.0
F3,2,269.0
F3,3,247.0
F3,4,289.0
F3,5,169.0
F3,6,387.0

Also, when you hand me a plan, please use this little JSON layout so it's quick to check and compare plans β€” nothing fancy, just a predictable shape.

{
  ""solution"": {
    ""selected"": [<kitchen_to_staff>, <kitchen_to_staff>, ...],
    ""assignments"": [<kitchen_serving_school>, <kitchen_serving_school>, ...]
  }
}

""selected"" is where you list the kitchens you plan to staff (one entry per kitchen). ""assignments"" is where you list, for each school in the order they appear in the instance, the single staffed kitchen that will serve it. Think of the JSON as a simple form: the first array says which kitchens are open, the second array says who serves which school. It's just a sketch of the expected shape β€” not the final plan.

Please be sure to use the exact identifiers from the instance input when you fill this in β€” do not rename them or invent new labels. Valid identifiers look like plain numbers such as ""1"" or ""23"", single capital letters like ""A"" or ""B"", or a capital letter followed by digits like ""A1"" or ""X7"".","{'opening_costs': [400.0, 400.0, 400.0], 'capacities': [1382.0, 1335.0, 1331.0], 'connection_costs': [[262.0, 652.0, 734.0, 364.0, 568.0, 520.0, 200.0], [686.0, 274.0, 114.0, 502.0, 300.0, 282.0, 600.0], [544.0, 338.0, 269.0, 247.0, 289.0, 169.0, 387.0]], 'demands': [11.0, 42.0, 17.0, 31.0, 42.0, 43.0, 45.0], 'objective': 2574.0}","{'open_facilities': [0, 2], 'assignments': [0, 2, 2, 2, 2, 2, 0]}",2574.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 1382.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 1335.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 1331.0}], 'customers': [{'id': 0, 'demand': 11.0}, {'id': 1, 'demand': 42.0}, {'id': 2, 'demand': 17.0}, {'id': 3, 'demand': 31.0}, {'id': 4, 'demand': 42.0}, {'id': 5, 'demand': 43.0}, {'id': 6, 'demand': 45.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 262.0}, {'facility': 'F1', 'customer': 1, 'cost': 652.0}, {'facility': 'F1', 'customer': 2, 'cost': 734.0}, {'facility': 'F1', 'customer': 3, 'cost': 364.0}, {'facility': 'F1', 'customer': 4, 'cost': 568.0}, {'facility': 'F1', 'customer': 5, 'cost': 520.0}, {'facility': 'F1', 'customer': 6, 'cost': 200.0}, {'facility': 'F2', 'customer': 0, 'cost': 686.0}, {'facility': 'F2', 'customer': 1, 'cost': 274.0}, {'facility': 'F2', 'customer': 2, 'cost': 114.0}, {'facility': 'F2', 'customer': 3, 'cost': 502.0}, {'facility': 'F2', 'customer': 4, 'cost': 300.0}, {'facility': 'F2', 'customer': 5, 'cost': 282.0}, {'facility': 'F2', 'customer': 6, 'cost': 600.0}, {'facility': 'F3', 'customer': 0, 'cost': 544.0}, {'facility': 'F3', 'customer': 1, 'cost': 338.0}, {'facility': 'F3', 'customer': 2, 'cost': 269.0}, {'facility': 'F3', 'customer': 3, 'cost': 247.0}, {'facility': 'F3', 'customer': 4, 'cost': 289.0}, {'facility': 'F3', 'customer': 5, 'cost': 169.0}, {'facility': 'F3', 'customer': 6, 'cost': 387.0}], 'objective': 2574.0}","{'selected': ['F1', 'F3'], 'assignments': ['F1', 'F3', 'F3', 'F3', 'F3', 'F3', 'F1']}",3,csv,0
CFLP,CFLP,"Imagine running the hospital network for a region and having to pick a handful of outpatient clinics to operate while assigning every neighborhood’s patients to one of them. Every clinic you flip on carries a fixed opening cost, each neighborhood has a travel price to each clinic, and every clinic can only accept so many patients. What makes one choice better than another is the total price tag β€” add the opening costs of all chosen clinics to the travel costs for all neighborhoods to calculate it, and the aim is to keep that total as small as possible. No neighborhood can be left unassigned or split between clinics, and no clinic may exceed its capacity. The full list of clinics, capacities and travel costs appears below.

# num_clinics=3
# num_neighborhoods=7
# CLINICS
clinic_id,clinic_opening_cost,clinic_capacity
F1,209.0,259.0
F2,405.0,490.0
F3,462.0,403.0
# NEIGHBORHOODS
neighborhood_id,neighborhood_patient_count
0,28.0
1,20.0
2,19.0
3,22.0
4,18.0
5,24.0
6,19.0
# ASSIGNMENT_TRAVELS
clinic_id,neighborhood_id,assignment_travel_cost
F1,0,498.0
F1,1,938.0
F1,2,96.0
F1,3,1389.0
F1,4,45.0
F1,5,947.0
F1,6,173.0
F2,0,607.0
F2,1,1160.0
F2,2,149.0
F2,3,1609.0
F2,4,63.0
F2,5,931.0
F2,6,385.0
F3,0,70.0
F3,1,735.0
F3,2,96.0
F3,3,1202.0
F3,4,46.0
F3,5,553.0
F3,6,107.0

Also, when you send back the actual choices, please use this little JSON layout so it's easy to read and automatic tools can pick it up:

{
  ""solution"": {
    ""selected"": [<clinic_to_open>, <clinic_to_open>, ...],
    ""assignments"": [<assigned_open_clinic>, <assigned_open_clinic>, ...]
  }
}

Think of ""selected"" as the list of clinics you decide to flip on, and ""assignments"" as, for each neighborhood in the same order they were given, the clinic you routed that neighborhood's patients to. Super casual: it's just a formβ€”one list of open clinics and one list saying who goes where.

This is just a sketch of the expected shape, not the actual answer. Please make sure all identifiers you put in there match the instance input exactly β€” no renaming, no invented labels.

- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [209.0, 405.0, 462.0], 'capacities': [259.0, 490.0, 403.0], 'connection_costs': [[498.0, 938.0, 96.0, 1389.0, 45.0, 947.0, 173.0], [607.0, 1160.0, 149.0, 1609.0, 63.0, 931.0, 385.0], [70.0, 735.0, 96.0, 1202.0, 46.0, 553.0, 107.0]], 'demands': [28.0, 20.0, 19.0, 22.0, 18.0, 24.0, 19.0], 'objective': 3271.0}","{'open_facilities': [2], 'assignments': [2, 2, 2, 2, 2, 2, 2]}",3271.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 209.0, 'capacity': 259.0}, {'id': 'F2', 'opening_cost': 405.0, 'capacity': 490.0}, {'id': 'F3', 'opening_cost': 462.0, 'capacity': 403.0}], 'customers': [{'id': 0, 'demand': 28.0}, {'id': 1, 'demand': 20.0}, {'id': 2, 'demand': 19.0}, {'id': 3, 'demand': 22.0}, {'id': 4, 'demand': 18.0}, {'id': 5, 'demand': 24.0}, {'id': 6, 'demand': 19.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 498.0}, {'facility': 'F1', 'customer': 1, 'cost': 938.0}, {'facility': 'F1', 'customer': 2, 'cost': 96.0}, {'facility': 'F1', 'customer': 3, 'cost': 1389.0}, {'facility': 'F1', 'customer': 4, 'cost': 45.0}, {'facility': 'F1', 'customer': 5, 'cost': 947.0}, {'facility': 'F1', 'customer': 6, 'cost': 173.0}, {'facility': 'F2', 'customer': 0, 'cost': 607.0}, {'facility': 'F2', 'customer': 1, 'cost': 1160.0}, {'facility': 'F2', 'customer': 2, 'cost': 149.0}, {'facility': 'F2', 'customer': 3, 'cost': 1609.0}, {'facility': 'F2', 'customer': 4, 'cost': 63.0}, {'facility': 'F2', 'customer': 5, 'cost': 931.0}, {'facility': 'F2', 'customer': 6, 'cost': 385.0}, {'facility': 'F3', 'customer': 0, 'cost': 70.0}, {'facility': 'F3', 'customer': 1, 'cost': 735.0}, {'facility': 'F3', 'customer': 2, 'cost': 96.0}, {'facility': 'F3', 'customer': 3, 'cost': 1202.0}, {'facility': 'F3', 'customer': 4, 'cost': 46.0}, {'facility': 'F3', 'customer': 5, 'cost': 553.0}, {'facility': 'F3', 'customer': 6, 'cost': 107.0}], 'objective': 3271.0}","{'selected': ['F3'], 'assignments': ['F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3']}",4,csv,0
CFLP,CFLP,"I’m running the food area for a neighborhood festival and need to decide which food stalls to actually set up and which vendor crowds to point to each stall. Each stall costs money to put up and can only serve so many people, and every time a vendor’s customer area is assigned to a stall there’s a serving cost based on distance or effort. The plan has to send each vendor’s customer area to exactly one of the stalls that get set up, make sure no stall serves more people than it can handle, and keep the total bill β€” the sum of all stall setup costs plus all those serving/distance costs β€” as low as possible. The specific stall options, costs, capacities, and vendor customer areas are listed below.

{
  ""num_stalls"": 2,
  ""num_vendor_areas"": 6,
  ""stalls"": [
    {
      ""stall_id"": ""F1"",
      ""stall_setup_cost"": 400.0,
      ""stall_capacity"": 1500.0
    },
    {
      ""stall_id"": ""F2"",
      ""stall_setup_cost"": 400.0,
      ""stall_capacity"": 1500.0
    }
  ],
  ""vendor_areas"": [
    {
      ""vendor_area_id"": 1,
      ""vendor_crowd_size"": 33.0
    },
    {
      ""vendor_area_id"": 2,
      ""vendor_crowd_size"": 35.0
    },
    {
      ""vendor_area_id"": 3,
      ""vendor_crowd_size"": 31.0
    },
    {
      ""vendor_area_id"": 4,
      ""vendor_crowd_size"": 42.0
    },
    {
      ""vendor_area_id"": 5,
      ""vendor_crowd_size"": 25.0
    },
    {
      ""vendor_area_id"": 6,
      ""vendor_crowd_size"": 24.0
    }
  ],
  ""servings"": [
    {
      ""stall_id"": ""F1"",
      ""vendor_area_id"": 1,
      ""serving_cost"": 648.0
    },
    {
      ""stall_id"": ""F1"",
      ""vendor_area_id"": 2,
      ""serving_cost"": 60.0
    },
    {
      ""stall_id"": ""F1"",
      ""vendor_area_id"": 3,
      ""serving_cost"": 706.0
    },
    {
      ""stall_id"": ""F1"",
      ""vendor_area_id"": 4,
      ""serving_cost"": 501.0
    },
    {
      ""stall_id"": ""F1"",
      ""vendor_area_id"": 5,
      ""serving_cost"": 179.0
    },
    {
      ""stall_id"": ""F1"",
      ""vendor_area_id"": 6,
      ""serving_cost"": 714.0
    },
    {
      ""stall_id"": ""F2"",
      ""vendor_area_id"": 1,
      ""serving_cost"": 203.0
    },
    {
      ""stall_id"": ""F2"",
      ""vendor_area_id"": 2,
      ""serving_cost"": 501.0
    },
    {
      ""stall_id"": ""F2"",
      ""vendor_area_id"": 3,
      ""serving_cost"": 274.0
    },
    {
      ""stall_id"": ""F2"",
      ""vendor_area_id"": 4,
      ""serving_cost"": 335.0
    },
    {
      ""stall_id"": ""F2"",
      ""vendor_area_id"": 5,
      ""serving_cost"": 343.0
    },
    {
      ""stall_id"": ""F2"",
      ""vendor_area_id"": 6,
      ""serving_cost"": 437.0
    }
  ]
}

Oh, and one more thing β€” when you send the plan back, please put it in this little JSON sketch so I can read it programmatically. Just follow the layout below; it's just a simple form that says which stalls to open and which stall each vendor is sent to.

{
  ""solution"": {
    ""selected"": [<stall_to_open>, <stall_to_open>, ...],
    ""assignments"": [<chosen_open_stall>, <chosen_open_stall>, ...]
  }
}

Think of ""selected"" as the list of stall locations you decide to set up, and ""assignments"" as, for each vendor/customer area in the order they were given, the stall you point them to. Super casual β€” it's just a template of the shape I need, not the final answer itself.

Please make sure to use the exact identifiers from the instance input β€” don’t rename them or invent new labels. 
- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [400.0, 400.0], 'capacities': [1500.0, 1500.0], 'connection_costs': [[648.0, 60.0, 706.0, 501.0, 179.0, 714.0], [203.0, 501.0, 274.0, 335.0, 343.0, 437.0]], 'demands': [33.0, 35.0, 31.0, 42.0, 25.0, 24.0], 'objective': 2288.0}","{'open_facilities': [0, 1], 'assignments': [1, 0, 1, 1, 0, 1]}",2288.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 1500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 1500.0}], 'customers': [{'id': 1, 'demand': 33.0}, {'id': 2, 'demand': 35.0}, {'id': 3, 'demand': 31.0}, {'id': 4, 'demand': 42.0}, {'id': 5, 'demand': 25.0}, {'id': 6, 'demand': 24.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 648.0}, {'facility': 'F1', 'customer': 2, 'cost': 60.0}, {'facility': 'F1', 'customer': 3, 'cost': 706.0}, {'facility': 'F1', 'customer': 4, 'cost': 501.0}, {'facility': 'F1', 'customer': 5, 'cost': 179.0}, {'facility': 'F1', 'customer': 6, 'cost': 714.0}, {'facility': 'F2', 'customer': 1, 'cost': 203.0}, {'facility': 'F2', 'customer': 2, 'cost': 501.0}, {'facility': 'F2', 'customer': 3, 'cost': 274.0}, {'facility': 'F2', 'customer': 4, 'cost': 335.0}, {'facility': 'F2', 'customer': 5, 'cost': 343.0}, {'facility': 'F2', 'customer': 6, 'cost': 437.0}], 'objective': 2288.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F1', 'F2', 'F2', 'F1', 'F2']}",5,json,1
CFLP,CFLP,"We’ve got a handful of data centers that can be spun up and a bunch of applications that need service; the job is to pick which centers to activate and then point each app’s traffic to a single active center. Each center costs money to bring online and has a hard bandwidth ceiling, and connecting an app to a center also costs something. A better plan is simply the cheaper one: total expense equals the sum of the centers’ startup charges plus all the routing fees, provided every app is covered by exactly one center and no center’s bandwidth limit is exceeded. The exact numbers and limits follow below.

{
  ""num_data_centers"": 3,
  ""num_applications"": 7,
  ""data_centers"": [
    {
      ""data_center_id"": ""F1"",
      ""activation_cost"": 600.0,
      ""bandwidth_capacity"": 300.0
    },
    {
      ""data_center_id"": ""F2"",
      ""activation_cost"": 600.0,
      ""bandwidth_capacity"": 300.0
    },
    {
      ""data_center_id"": ""F3"",
      ""activation_cost"": 600.0,
      ""bandwidth_capacity"": 300.0
    }
  ],
  ""applications"": [
    {
      ""application_id"": 0,
      ""bandwidth_demand"": 28.0
    },
    {
      ""application_id"": 1,
      ""bandwidth_demand"": 17.0
    },
    {
      ""application_id"": 2,
      ""bandwidth_demand"": 19.0
    },
    {
      ""application_id"": 3,
      ""bandwidth_demand"": 19.0
    },
    {
      ""application_id"": 4,
      ""bandwidth_demand"": 20.0
    },
    {
      ""application_id"": 5,
      ""bandwidth_demand"": 23.0
    },
    {
      ""application_id"": 6,
      ""bandwidth_demand"": 25.0
    }
  ],
  ""routings"": [
    {
      ""data_center_id"": ""F1"",
      ""application_id"": 0,
      ""routing_cost"": 1511.0
    },
    {
      ""data_center_id"": ""F1"",
      ""application_id"": 1,
      ""routing_cost"": 1733.0
    },
    {
      ""data_center_id"": ""F1"",
      ""application_id"": 2,
      ""routing_cost"": 1338.0
    },
    {
      ""data_center_id"": ""F1"",
      ""application_id"": 3,
      ""routing_cost"": 2409.0
    },
    {
      ""data_center_id"": ""F1"",
      ""application_id"": 4,
      ""routing_cost"": 1048.0
    },
    {
      ""data_center_id"": ""F1"",
      ""application_id"": 5,
      ""routing_cost"": 1176.0
    },
    {
      ""data_center_id"": ""F1"",
      ""application_id"": 6,
      ""routing_cost"": 1891.0
    },
    {
      ""data_center_id"": ""F2"",
      ""application_id"": 0,
      ""routing_cost"": 309.0
    },
    {
      ""data_center_id"": ""F2"",
      ""application_id"": 1,
      ""routing_cost"": 1253.0
    },
    {
      ""data_center_id"": ""F2"",
      ""application_id"": 2,
      ""routing_cost"": 579.0
    },
    {
      ""data_center_id"": ""F2"",
      ""application_id"": 3,
      ""routing_cost"": 1400.0
    },
    {
      ""data_center_id"": ""F2"",
      ""application_id"": 4,
      ""routing_cost"": 827.0
    },
    {
      ""data_center_id"": ""F2"",
      ""application_id"": 5,
      ""routing_cost"": 636.0
    },
    {
      ""data_center_id"": ""F2"",
      ""application_id"": 6,
      ""routing_cost"": 678.0
    },
    {
      ""data_center_id"": ""F3"",
      ""application_id"": 0,
      ""routing_cost"": 842.0
    },
    {
      ""data_center_id"": ""F3"",
      ""application_id"": 1,
      ""routing_cost"": 601.0
    },
    {
      ""data_center_id"": ""F3"",
      ""application_id"": 2,
      ""routing_cost"": 121.0
    },
    {
      ""data_center_id"": ""F3"",
      ""application_id"": 3,
      ""routing_cost"": 1115.0
    },
    {
      ""data_center_id"": ""F3"",
      ""application_id"": 4,
      ""routing_cost"": 318.0
    },
    {
      ""data_center_id"": ""F3"",
      ""application_id"": 5,
      ""routing_cost"": 72.0
    },
    {
      ""data_center_id"": ""F3"",
      ""application_id"": 6,
      ""routing_cost"": 849.0
    }
  ]
}

Also, when you send the plan back, please use this simple JSON layout so it's easy to parse β€” just a quick sketch of the shape we expect:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
  }
}

Pretty straightforward: ""selected"" is the list of data centers you decide to spin up, and ""assignments"" lists, in the same order as the applications were given, which spun-up center each app is pointed to. Think of it like filling out a short form β€” which centers are active, and which active center each app uses.

This JSON is just the shape I want to receive, not the actual answer. Please make sure to use the exact identifiers from the instance input β€” do not rename them or invent new labels. Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [600.0, 600.0, 600.0], 'capacities': [300.0, 300.0, 300.0], 'connection_costs': [[1511.0, 1733.0, 1338.0, 2409.0, 1048.0, 1176.0, 1891.0], [309.0, 1253.0, 579.0, 1400.0, 827.0, 636.0, 678.0], [842.0, 601.0, 121.0, 1115.0, 318.0, 72.0, 849.0]], 'demands': [28.0, 17.0, 19.0, 19.0, 20.0, 23.0, 25.0], 'objective': 4414.0}","{'open_facilities': [1, 2], 'assignments': [1, 2, 2, 2, 2, 2, 1]}",4414.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 300.0}, {'id': 'F3', 'opening_cost': 600.0, 'capacity': 300.0}], 'customers': [{'id': 0, 'demand': 28.0}, {'id': 1, 'demand': 17.0}, {'id': 2, 'demand': 19.0}, {'id': 3, 'demand': 19.0}, {'id': 4, 'demand': 20.0}, {'id': 5, 'demand': 23.0}, {'id': 6, 'demand': 25.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 1511.0}, {'facility': 'F1', 'customer': 1, 'cost': 1733.0}, {'facility': 'F1', 'customer': 2, 'cost': 1338.0}, {'facility': 'F1', 'customer': 3, 'cost': 2409.0}, {'facility': 'F1', 'customer': 4, 'cost': 1048.0}, {'facility': 'F1', 'customer': 5, 'cost': 1176.0}, {'facility': 'F1', 'customer': 6, 'cost': 1891.0}, {'facility': 'F2', 'customer': 0, 'cost': 309.0}, {'facility': 'F2', 'customer': 1, 'cost': 1253.0}, {'facility': 'F2', 'customer': 2, 'cost': 579.0}, {'facility': 'F2', 'customer': 3, 'cost': 1400.0}, {'facility': 'F2', 'customer': 4, 'cost': 827.0}, {'facility': 'F2', 'customer': 5, 'cost': 636.0}, {'facility': 'F2', 'customer': 6, 'cost': 678.0}, {'facility': 'F3', 'customer': 0, 'cost': 842.0}, {'facility': 'F3', 'customer': 1, 'cost': 601.0}, {'facility': 'F3', 'customer': 2, 'cost': 121.0}, {'facility': 'F3', 'customer': 3, 'cost': 1115.0}, {'facility': 'F3', 'customer': 4, 'cost': 318.0}, {'facility': 'F3', 'customer': 5, 'cost': 72.0}, {'facility': 'F3', 'customer': 6, 'cost': 849.0}], 'objective': 4414.0}","{'selected': ['F2', 'F3'], 'assignments': ['F2', 'F3', 'F3', 'F3', 'F3', 'F3', 'F2']}",6,json,0
CFLP,CFLP,"Someone in charge of the mobile library has to decide which vans to operate and then assign every neighborhood to one of those active vans. Assignments are exclusive β€” one neighborhood, one van β€” and vans cannot be overloaded beyond their book limits. What makes one choice nicer than another is simple math: total up the van deployment fees plus the delivery effort for serving the neighborhoods, and aim for the smallest total possible. The actual numbers for van costs, capacities and neighborhood demands follow below.

There are 3 vans and 7 neighborhoods in this instance.

**Vans**
| van_id | deployment_cost | book_capacity |
|---|---|---|
| F1 | 400.0 | 300.0 |
| F2 | 400.0 | 300.0 |
| F3 | 400.0 | 300.0 |

**Neighborhoods**
| neighborhood_id | book_demand |
|---|---|
| 1 | 23.0 |
| 2 | 18.0 |
| 3 | 28.0 |
| 4 | 14.0 |
| 5 | 16.0 |
| 6 | 21.0 |
| 7 | 16.0 |

**Delivery Effort**
| van_id | neighborhood_id | delivery_effort |
|---|---|---|
| F1 | 1 | 870.0 |
| F1 | 2 | 987.0 |
| F1 | 3 | 1511.0 |
| F1 | 4 | 1876.0 |
| F1 | 5 | 1416.0 |
| F1 | 6 | 1428.0 |
| F1 | 7 | 2527.0 |
| F2 | 1 | 262.0 |
| F2 | 2 | 626.0 |
| F2 | 3 | 880.0 |
| F2 | 4 | 1412.0 |
| F2 | 5 | 1022.0 |
| F2 | 6 | 1258.0 |
| F2 | 7 | 2157.0 |
| F3 | 1 | 51.0 |
| F3 | 2 | 210.0 |
| F3 | 3 | 309.0 |
| F3 | 4 | 722.0 |
| F3 | 5 | 440.0 |
| F3 | 6 | 827.0 |
| F3 | 7 | 1501.0 |

Oh, and when you give the final pick and assignments, just stick to this simple JSON shape so it's easy to read and check:

{
  ""solution"": {
    ""selected"": [<van_to_operate>, <van_to_operate>, ...],
    ""assignments"": [<operating_van_for_neighborhood>, <operating_van_for_neighborhood>, ...]
  }
}

""selected"" is the list of vans you'll run (one identifier per van). ""assignments"" lists, in neighborhood order, which of those running vans is assigned to serve each neighborhood. Think of it like filling out a short form: pick the vans, then write next to each neighborhood which picked van will visit it.

This JSON is just a sketch of the expected shape β€” not the actual answer. Please be sure to use the exact identifiers from the instance input β€” don't rename them or invent new labels.

- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [400.0, 400.0, 400.0], 'capacities': [300.0, 300.0, 300.0], 'connection_costs': [[870.0, 987.0, 1511.0, 1876.0, 1416.0, 1428.0, 2527.0], [262.0, 626.0, 880.0, 1412.0, 1022.0, 1258.0, 2157.0], [51.0, 210.0, 309.0, 722.0, 440.0, 827.0, 1501.0]], 'demands': [23.0, 18.0, 28.0, 14.0, 16.0, 21.0, 16.0], 'objective': 4460.0}","{'open_facilities': [2], 'assignments': [2, 2, 2, 2, 2, 2, 2]}",4460.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 300.0}], 'customers': [{'id': 1, 'demand': 23.0}, {'id': 2, 'demand': 18.0}, {'id': 3, 'demand': 28.0}, {'id': 4, 'demand': 14.0}, {'id': 5, 'demand': 16.0}, {'id': 6, 'demand': 21.0}, {'id': 7, 'demand': 16.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 870.0}, {'facility': 'F1', 'customer': 2, 'cost': 987.0}, {'facility': 'F1', 'customer': 3, 'cost': 1511.0}, {'facility': 'F1', 'customer': 4, 'cost': 1876.0}, {'facility': 'F1', 'customer': 5, 'cost': 1416.0}, {'facility': 'F1', 'customer': 6, 'cost': 1428.0}, {'facility': 'F1', 'customer': 7, 'cost': 2527.0}, {'facility': 'F2', 'customer': 1, 'cost': 262.0}, {'facility': 'F2', 'customer': 2, 'cost': 626.0}, {'facility': 'F2', 'customer': 3, 'cost': 880.0}, {'facility': 'F2', 'customer': 4, 'cost': 1412.0}, {'facility': 'F2', 'customer': 5, 'cost': 1022.0}, {'facility': 'F2', 'customer': 6, 'cost': 1258.0}, {'facility': 'F2', 'customer': 7, 'cost': 2157.0}, {'facility': 'F3', 'customer': 1, 'cost': 51.0}, {'facility': 'F3', 'customer': 2, 'cost': 210.0}, {'facility': 'F3', 'customer': 3, 'cost': 309.0}, {'facility': 'F3', 'customer': 4, 'cost': 722.0}, {'facility': 'F3', 'customer': 5, 'cost': 440.0}, {'facility': 'F3', 'customer': 6, 'cost': 827.0}, {'facility': 'F3', 'customer': 7, 'cost': 1501.0}], 'objective': 4460.0}","{'selected': ['F3'], 'assignments': ['F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3']}",7,markdown_table,1
CFLP,CFLP,"I’m the emergency planner trying to set up a handful of supply hubs after a disaster, and the job is to pick which hubs to open and then link every relief site to one of those open hubs. Each hub costs money to establish and can only hold so much inventory, and sending supplies from a hub to a site adds shipping costs. The goal is to choose hubs and assignments so the total bill β€” the hubs’ setup costs plus all shipment costs β€” is as small as possible, while making sure every relief site is assigned to exactly one open hub and no hub’s stock limit is exceeded. The specific sites, hub options, capacities, and costs are shown below.

{
  ""num_candidate_hubs"": 3,
  ""num_relief_sites"": 8,
  ""hubs"": [
    {
      ""hub_id"": ""F1"",
      ""setup_cost"": 300.0,
      ""hub_capacity"": 500.0
    },
    {
      ""hub_id"": ""F2"",
      ""setup_cost"": 300.0,
      ""hub_capacity"": 500.0
    },
    {
      ""hub_id"": ""F3"",
      ""setup_cost"": 300.0,
      ""hub_capacity"": 500.0
    }
  ],
  ""sites"": [
    {
      ""site_id"": ""A"",
      ""site_demand"": 24.0
    },
    {
      ""site_id"": ""B"",
      ""site_demand"": 24.0
    },
    {
      ""site_id"": ""C"",
      ""site_demand"": 17.0
    },
    {
      ""site_id"": ""D"",
      ""site_demand"": 13.0
    },
    {
      ""site_id"": ""E"",
      ""site_demand"": 24.0
    },
    {
      ""site_id"": ""F"",
      ""site_demand"": 17.0
    },
    {
      ""site_id"": ""G"",
      ""site_demand"": 23.0
    },
    {
      ""site_id"": ""H"",
      ""site_demand"": 19.0
    }
  ],
  ""shipments"": [
    {
      ""hub_id"": ""F1"",
      ""site_id"": ""A"",
      ""shipment_cost"": 702.0
    },
    {
      ""hub_id"": ""F1"",
      ""site_id"": ""B"",
      ""shipment_cost"": 436.0
    },
    {
      ""hub_id"": ""F1"",
      ""site_id"": ""C"",
      ""shipment_cost"": 2185.0
    },
    {
      ""hub_id"": ""F1"",
      ""site_id"": ""D"",
      ""shipment_cost"": 39.0
    },
    {
      ""hub_id"": ""F1"",
      ""site_id"": ""E"",
      ""shipment_cost"": 1179.0
    },
    {
      ""hub_id"": ""F1"",
      ""site_id"": ""F"",
      ""shipment_cost"": 1791.0
    },
    {
      ""hub_id"": ""F1"",
      ""site_id"": ""G"",
      ""shipment_cost"": 1176.0
    },
    {
      ""hub_id"": ""F1"",
      ""site_id"": ""H"",
      ""shipment_cost"": 990.0
    },
    {
      ""hub_id"": ""F2"",
      ""site_id"": ""A"",
      ""shipment_cost"": 102.0
    },
    {
      ""hub_id"": ""F2"",
      ""site_id"": ""B"",
      ""shipment_cost"": 258.0
    },
    {
      ""hub_id"": ""F2"",
      ""site_id"": ""C"",
      ""shipment_cost"": 696.0
    },
    {
      ""hub_id"": ""F2"",
      ""site_id"": ""D"",
      ""shipment_cost"": 86.0
    },
    {
      ""hub_id"": ""F2"",
      ""site_id"": ""E"",
      ""shipment_cost"": 153.0
    },
    {
      ""hub_id"": ""F2"",
      ""site_id"": ""F"",
      ""shipment_cost"": 85.0
    },
    {
      ""hub_id"": ""F2"",
      ""site_id"": ""G"",
      ""shipment_cost"": 382.0
    },
    {
      ""hub_id"": ""F2"",
      ""site_id"": ""H"",
      ""shipment_cost"": 70.0
    },
    {
      ""hub_id"": ""F3"",
      ""site_id"": ""A"",
      ""shipment_cost"": 173.0
    },
    {
      ""hub_id"": ""F3"",
      ""site_id"": ""B"",
      ""shipment_cost"": 210.0
    },
    {
      ""hub_id"": ""F3"",
      ""site_id"": ""C"",
      ""shipment_cost"": 858.0
    },
    {
      ""hub_id"": ""F3"",
      ""site_id"": ""D"",
      ""shipment_cost"": 65.0
    },
    {
      ""hub_id"": ""F3"",
      ""site_id"": ""E"",
      ""shipment_cost"": 97.0
    },
    {
      ""hub_id"": ""F3"",
      ""site_id"": ""F"",
      ""shipment_cost"": 459.0
    },
    {
      ""hub_id"": ""F3"",
      ""site_id"": ""G"",
      ""shipment_cost"": 335.0
    },
    {
      ""hub_id"": ""F3"",
      ""site_id"": ""H"",
      ""shipment_cost"": 164.0
    }
  ]
}

Also, for the answer please use this simple JSON shape so it's easy to plug into my planner:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
  }
}

""selected"" is the list of hubs you decide to open. ""assignments"" lists, for each relief site (in the same order the instance gives them), which open hub that site is assigned to. Think of it like a short form: which hubs to set up, and which hub each site will get supplies from.

This is just the expected shape of the reply β€” a sketch, not the actual filled-in solution. Please make sure to use the exact identifiers from the instance input; do not rename or invent new labels.

Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [300.0, 300.0, 300.0], 'capacities': [500.0, 500.0, 500.0], 'connection_costs': [[702.0, 436.0, 2185.0, 39.0, 1179.0, 1791.0, 1176.0, 990.0], [102.0, 258.0, 696.0, 86.0, 153.0, 85.0, 382.0, 70.0], [173.0, 210.0, 858.0, 65.0, 97.0, 459.0, 335.0, 164.0]], 'demands': [24.0, 24.0, 17.0, 13.0, 24.0, 17.0, 23.0, 19.0], 'objective': 2132.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1, 1, 1]}",2132.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 8, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 500.0}, {'id': 'F3', 'opening_cost': 300.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 24.0}, {'id': 'B', 'demand': 24.0}, {'id': 'C', 'demand': 17.0}, {'id': 'D', 'demand': 13.0}, {'id': 'E', 'demand': 24.0}, {'id': 'F', 'demand': 17.0}, {'id': 'G', 'demand': 23.0}, {'id': 'H', 'demand': 19.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 702.0}, {'facility': 'F1', 'customer': 'B', 'cost': 436.0}, {'facility': 'F1', 'customer': 'C', 'cost': 2185.0}, {'facility': 'F1', 'customer': 'D', 'cost': 39.0}, {'facility': 'F1', 'customer': 'E', 'cost': 1179.0}, {'facility': 'F1', 'customer': 'F', 'cost': 1791.0}, {'facility': 'F1', 'customer': 'G', 'cost': 1176.0}, {'facility': 'F1', 'customer': 'H', 'cost': 990.0}, {'facility': 'F2', 'customer': 'A', 'cost': 102.0}, {'facility': 'F2', 'customer': 'B', 'cost': 258.0}, {'facility': 'F2', 'customer': 'C', 'cost': 696.0}, {'facility': 'F2', 'customer': 'D', 'cost': 86.0}, {'facility': 'F2', 'customer': 'E', 'cost': 153.0}, {'facility': 'F2', 'customer': 'F', 'cost': 85.0}, {'facility': 'F2', 'customer': 'G', 'cost': 382.0}, {'facility': 'F2', 'customer': 'H', 'cost': 70.0}, {'facility': 'F3', 'customer': 'A', 'cost': 173.0}, {'facility': 'F3', 'customer': 'B', 'cost': 210.0}, {'facility': 'F3', 'customer': 'C', 'cost': 858.0}, {'facility': 'F3', 'customer': 'D', 'cost': 65.0}, {'facility': 'F3', 'customer': 'E', 'cost': 97.0}, {'facility': 'F3', 'customer': 'F', 'cost': 459.0}, {'facility': 'F3', 'customer': 'G', 'cost': 335.0}, {'facility': 'F3', 'customer': 'H', 'cost': 164.0}], 'objective': 2132.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",8,json,names
CFLP,CFLP,"We manage local solar install crews and need to figure out which teams to switch on and which team will do each installation. Each team you turn on charges an activation fee and can only take on a certain amount of work; sending a team to a customer also costs travel and the actual service time. What makes one plan better than another is the final tab: add up the charges for every team we activated plus every travel and service cost for each assigned customer, and choose the assignment that produces the lowest total, while making sure every customer is assigned to one active team and no team’s workload goes over its limit. The exact team fees, capacities, and customer requests are shown below.

We have 3 local install teams and 7 customer installation requests to assign.
Team F1 charges an activation fee of 600.0 and can handle up to 500.0 units of workload.
Team F2 charges an activation fee of 600.0 and can handle up to 500.0 units of workload.
Team F3 charges an activation fee of 600.0 and can handle up to 500.0 units of workload.
Request A requires 14.0 units of installation work and must be assigned to one active team.
Request B requires 20.0 units of installation work and must be assigned to one active team.
Request C requires 26.0 units of installation work and must be assigned to one active team.
Request D requires 10.0 units of installation work and must be assigned to one active team.
Request E requires 14.0 units of installation work and must be assigned to one active team.
Request F requires 17.0 units of installation work and must be assigned to one active team.
Request G requires 29.0 units of installation work and must be assigned to one active team.
Sending team F1 to serve request A incurs 469.0 in travel and service charges.
Sending team F1 to serve request B incurs 640.0 in travel and service charges.
Sending team F1 to serve request C incurs 430.0 in travel and service charges.
Sending team F1 to serve request D incurs 130.0 in travel and service charges.
Sending team F1 to serve request E incurs 29.0 in travel and service charges.
Sending team F1 to serve request F incurs 800.0 in travel and service charges.
Sending team F1 to serve request G incurs 817.0 in travel and service charges.
Sending team F2 to serve request A incurs 100.0 in travel and service charges.
Sending team F2 to serve request B incurs 862.0 in travel and service charges.
Sending team F2 to serve request C incurs 164.0 in travel and service charges.
Sending team F2 to serve request D incurs 600.0 in travel and service charges.
Sending team F2 to serve request E incurs 403.0 in travel and service charges.
Sending team F2 to serve request F incurs 1064.0 in travel and service charges.
Sending team F2 to serve request G incurs 648.0 in travel and service charges.
Sending team F3 to serve request A incurs 312.0 in travel and service charges.
Sending team F3 to serve request B incurs 332.0 in travel and service charges.
Sending team F3 to serve request C incurs 275.0 in travel and service charges.
Sending team F3 to serve request D incurs 177.0 in travel and service charges.
Sending team F3 to serve request E incurs 49.0 in travel and service charges.
Sending team F3 to serve request F incurs 459.0 in travel and service charges.
Sending team F3 to serve request G incurs 573.0 in travel and service charges.
Choose assignments that minimize the total of activation fees plus all travel and service costs while keeping every team's workload within its capacity.

When you send the plan back, please use this simple JSON layout so it's easy to read and plug into our system:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_site>, <chosen_site>, ...]
  }
}

Think of ""selected"" as the list of crews/teams you switched on (the ones we'll pay an activation fee for), and ""assignments"" as which switched-on crew will handle each customer in the same order the customers were given. This is just the shape I expect β€” a sketch, not the final numbers.

Please use the exact identifiers from the instance input β€” do not rename them or invent new ones. Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [600.0, 600.0, 600.0], 'capacities': [500.0, 500.0, 500.0], 'connection_costs': [[469.0, 640.0, 430.0, 130.0, 29.0, 800.0, 817.0], [100.0, 862.0, 164.0, 600.0, 403.0, 1064.0, 648.0], [312.0, 332.0, 275.0, 177.0, 49.0, 459.0, 573.0]], 'demands': [14.0, 20.0, 26.0, 10.0, 14.0, 17.0, 29.0], 'objective': 2777.0}","{'open_facilities': [2], 'assignments': [2, 2, 2, 2, 2, 2, 2]}",2777.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F3', 'opening_cost': 600.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 14.0}, {'id': 'B', 'demand': 20.0}, {'id': 'C', 'demand': 26.0}, {'id': 'D', 'demand': 10.0}, {'id': 'E', 'demand': 14.0}, {'id': 'F', 'demand': 17.0}, {'id': 'G', 'demand': 29.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 469.0}, {'facility': 'F1', 'customer': 'B', 'cost': 640.0}, {'facility': 'F1', 'customer': 'C', 'cost': 430.0}, {'facility': 'F1', 'customer': 'D', 'cost': 130.0}, {'facility': 'F1', 'customer': 'E', 'cost': 29.0}, {'facility': 'F1', 'customer': 'F', 'cost': 800.0}, {'facility': 'F1', 'customer': 'G', 'cost': 817.0}, {'facility': 'F2', 'customer': 'A', 'cost': 100.0}, {'facility': 'F2', 'customer': 'B', 'cost': 862.0}, {'facility': 'F2', 'customer': 'C', 'cost': 164.0}, {'facility': 'F2', 'customer': 'D', 'cost': 600.0}, {'facility': 'F2', 'customer': 'E', 'cost': 403.0}, {'facility': 'F2', 'customer': 'F', 'cost': 1064.0}, {'facility': 'F2', 'customer': 'G', 'cost': 648.0}, {'facility': 'F3', 'customer': 'A', 'cost': 312.0}, {'facility': 'F3', 'customer': 'B', 'cost': 332.0}, {'facility': 'F3', 'customer': 'C', 'cost': 275.0}, {'facility': 'F3', 'customer': 'D', 'cost': 177.0}, {'facility': 'F3', 'customer': 'E', 'cost': 49.0}, {'facility': 'F3', 'customer': 'F', 'cost': 459.0}, {'facility': 'F3', 'customer': 'G', 'cost': 573.0}], 'objective': 2777.0}","{'selected': ['F3'], 'assignments': ['F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3']}",9,nl,names
CFLP,CFLP,"Picture a rollout where each potential tower has a startup cost and a limit on how many users it can serve, and each service area has a certain number of users. The job is to decide which towers to commission and to assign each service area to exactly one of the commissioned towers β€” no area is left unassigned or assigned twice, and no tower is overloaded. The best plan is the one with the smallest overall bill: add together the commissioning costs for all commissioned towers and the connection penalties for each area’s assignment, and keep that sum as low as possible. The actual numbers for costs, capacities, and connection penalties are shown below.

There are 2 candidate towers and 5 service areas.
Tower F1 has commissioning cost 300.0 and user capacity 300.0.
Tower F2 has commissioning cost 300.0 and user capacity 300.0.
Service area A has 26.0 users.
Service area B has 20.0 users.
Service area C has 19.0 users.
Service area D has 20.0 users.
Service area E has 13.0 users.
Assigning service area A to tower F1 incurs a connection penalty of 722.0.
Assigning service area B to tower F1 incurs a connection penalty of 941.0.
Assigning service area C to tower F1 incurs a connection penalty of 1376.0.
Assigning service area D to tower F1 incurs a connection penalty of 540.0.
Assigning service area E to tower F1 incurs a connection penalty of 912.0.
Assigning service area A to tower F2 incurs a connection penalty of 171.0.
Assigning service area B to tower F2 incurs a connection penalty of 132.0.
Assigning service area C to tower F2 incurs a connection penalty of 1052.0.
Assigning service area D to tower F2 incurs a connection penalty of 56.0.
Assigning service area E to tower F2 incurs a connection penalty of 477.0.
Use these numbers to decide which towers to commission and how to assign each area so the total bill (commissioning costs plus connection penalties) is minimized.

When you give the plan, just use a simple JSON layout like this so it's easy to read and parse β€” nothing fancy, just which sites you open and where each area gets assigned:

{
  ""solution"": {
    ""selected"": [<tower_to_open>, <tower_to_open>, ...],
    ""assignments"": [<chosen_open_tower>, <chosen_open_tower>, ...]
  }
}

""selected"" is the list of towers you decide to commission, and ""assignments"" says, for each service area in the order given by the instance, which commissioned tower it will use. Think of it like filling out a short form: a list of opened towers, and a list that points each area to one of those towers.

This JSON is just a sketch of the shape I expect β€” not the final answer itself. Please make sure to use the exact identifiers from the instance input (do not rename or invent IDs). 
- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [300.0, 300.0], 'capacities': [300.0, 300.0], 'connection_costs': [[722.0, 941.0, 1376.0, 540.0, 912.0], [171.0, 132.0, 1052.0, 56.0, 477.0]], 'demands': [26.0, 20.0, 19.0, 20.0, 13.0], 'objective': 2188.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1]}",2188.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 300.0}], 'customers': [{'id': 'A', 'demand': 26.0}, {'id': 'B', 'demand': 20.0}, {'id': 'C', 'demand': 19.0}, {'id': 'D', 'demand': 20.0}, {'id': 'E', 'demand': 13.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 722.0}, {'facility': 'F1', 'customer': 'B', 'cost': 941.0}, {'facility': 'F1', 'customer': 'C', 'cost': 1376.0}, {'facility': 'F1', 'customer': 'D', 'cost': 540.0}, {'facility': 'F1', 'customer': 'E', 'cost': 912.0}, {'facility': 'F2', 'customer': 'A', 'cost': 171.0}, {'facility': 'F2', 'customer': 'B', 'cost': 132.0}, {'facility': 'F2', 'customer': 'C', 'cost': 1052.0}, {'facility': 'F2', 'customer': 'D', 'cost': 56.0}, {'facility': 'F2', 'customer': 'E', 'cost': 477.0}], 'objective': 2188.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2']}",10,nl,names
CFLP,CFLP,"Recently the health team put together a list of possible pop-up clinics and all the neighborhoods that need coverage; the task now is choosing which clinics to run and which single clinic each neighborhood will use. Each clinic has a daily throughput cap and an opening cost, and each neighborhood-to-clinic pairing carries a transport cost. The best setup keeps the combined expense down β€” sum the opening costs for clinics that get opened plus every neighborhood’s travel cost β€” and it must assign every neighborhood to one open clinic without exceeding any clinic’s daily capacity. Full details are shown below.

{
  ""num_clinics"": 2,
  ""num_neighborhoods"": 5,
  ""clinics"": [
    {
      ""clinic_id"": ""F1"",
      ""clinic_opening_cost"": 400.0,
      ""clinic_daily_throughput"": 800.0
    },
    {
      ""clinic_id"": ""F2"",
      ""clinic_opening_cost"": 400.0,
      ""clinic_daily_throughput"": 800.0
    }
  ],
  ""neighborhoods"": [
    {
      ""neighborhood_id"": 0,
      ""neighborhood_demand"": 17.0
    },
    {
      ""neighborhood_id"": 1,
      ""neighborhood_demand"": 18.0
    },
    {
      ""neighborhood_id"": 2,
      ""neighborhood_demand"": 32.0
    },
    {
      ""neighborhood_id"": 3,
      ""neighborhood_demand"": 36.0
    },
    {
      ""neighborhood_id"": 4,
      ""neighborhood_demand"": 22.0
    }
  ],
  ""transports"": [
    {
      ""clinic_id"": ""F1"",
      ""neighborhood_id"": 0,
      ""transport_cost"": 535.0
    },
    {
      ""clinic_id"": ""F1"",
      ""neighborhood_id"": 1,
      ""transport_cost"": 423.0
    },
    {
      ""clinic_id"": ""F1"",
      ""neighborhood_id"": 2,
      ""transport_cost"": 447.0
    },
    {
      ""clinic_id"": ""F1"",
      ""neighborhood_id"": 3,
      ""transport_cost"": 406.0
    },
    {
      ""clinic_id"": ""F1"",
      ""neighborhood_id"": 4,
      ""transport_cost"": 580.0
    },
    {
      ""clinic_id"": ""F2"",
      ""neighborhood_id"": 0,
      ""transport_cost"": 529.0
    },
    {
      ""clinic_id"": ""F2"",
      ""neighborhood_id"": 1,
      ""transport_cost"": 323.0
    },
    {
      ""clinic_id"": ""F2"",
      ""neighborhood_id"": 2,
      ""transport_cost"": 573.0
    },
    {
      ""clinic_id"": ""F2"",
      ""neighborhood_id"": 3,
      ""transport_cost"": 532.0
    },
    {
      ""clinic_id"": ""F2"",
      ""neighborhood_id"": 4,
      ""transport_cost"": 450.0
    }
  ]
}

Also, when you’re ready to hand over a proposed setup, just use a tiny JSON snippet like this so it’s easy to parse:

{
  ""solution"": {
    ""selected"": [<clinic_to_open>, <clinic_to_open>, ...],
    ""assignments"": [<neighborhood_chosen_clinic>, <neighborhood_chosen_clinic>, ...]
  }
}

Pretty simple: ""selected"" is the list of clinic sites you plan to open, and ""assignments"" lists, in the same order as the neighborhoods in the instance, which open clinic each neighborhood will use. Think of it like filling out a form β€” which clinics are on, and for each neighborhood which clinic they go to.

This JSON is just the expected shape (a sketch), not the final answer.

Please be sure to use the exact identifiers from the input files β€” don’t rename or invent new labels. 
- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [400.0, 400.0], 'capacities': [800.0, 800.0], 'connection_costs': [[535.0, 423.0, 447.0, 406.0, 580.0], [529.0, 323.0, 573.0, 532.0, 450.0]], 'demands': [17.0, 18.0, 32.0, 36.0, 22.0], 'objective': 2791.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",2791.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 800.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 800.0}], 'customers': [{'id': 0, 'demand': 17.0}, {'id': 1, 'demand': 18.0}, {'id': 2, 'demand': 32.0}, {'id': 3, 'demand': 36.0}, {'id': 4, 'demand': 22.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 535.0}, {'facility': 'F1', 'customer': 1, 'cost': 423.0}, {'facility': 'F1', 'customer': 2, 'cost': 447.0}, {'facility': 'F1', 'customer': 3, 'cost': 406.0}, {'facility': 'F1', 'customer': 4, 'cost': 580.0}, {'facility': 'F2', 'customer': 0, 'cost': 529.0}, {'facility': 'F2', 'customer': 1, 'cost': 323.0}, {'facility': 'F2', 'customer': 2, 'cost': 573.0}, {'facility': 'F2', 'customer': 3, 'cost': 532.0}, {'facility': 'F2', 'customer': 4, 'cost': 450.0}], 'objective': 2791.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",11,json,0
CFLP,CFLP,"Many event planners know the drill: pick which mobile kitchens to bring and decide which kitchen will handle each event. Every kitchen has a rental price and a maximum number of meals it can do; every event needs all its meals from one kitchen only. The decision that works is the one where all events are assigned (no splits), no kitchen is overloaded, and the total expense β€” the sum of trailer deployment costs plus each event’s delivery fee β€” is kept as low as possible. The full set of trailer capacities, deployment fees, and event meal counts appears below.

# num_trailers=2
# num_events=6
# TRAILERS
trailer_id,deployment_cost,meal_capacity
F1,300.0,700.0
F2,300.0,700.0
# EVENTS
event_id,meals_required
0,15.0
1,19.0
2,10.0
3,26.0
4,18.0
5,17.0
# DELIVERY_FEES
trailer_id,event_id,delivery_fee
F1,0,414.0
F1,1,625.0
F1,2,428.0
F1,3,607.0
F1,4,181.0
F1,5,1040.0
F2,0,40.0
F2,1,467.0
F2,2,65.0
F2,3,1028.0
F2,4,36.0
F2,5,644.0

One more thing β€” to keep things machine-friendly, please lay out the final decision in a tiny JSON sketch like this:

{
  ""solution"": {
    ""selected"": [<kitchen_to_rent>, <kitchen_to_rent>, ...],
    ""assignments"": [<chosen_kitchen_for_event>, <chosen_kitchen_for_event>, ...]
  }
}

Think of ""selected"" as the list of mobile kitchens you'll rent, and ""assignments"" as, for each event (in the same order the events were given), which rented kitchen will handle it. Super casual form: which kitchens you bring, and who feeds which event.

This JSON is just the shape I expect β€” a sketch, not the actual values. Also, please use the exact identifiers from the instance input when filling those placeholders: do not rename them or invent new labels. Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [300.0, 300.0], 'capacities': [700.0, 700.0], 'connection_costs': [[414.0, 625.0, 428.0, 607.0, 181.0, 1040.0], [40.0, 467.0, 65.0, 1028.0, 36.0, 644.0]], 'demands': [15.0, 19.0, 10.0, 26.0, 18.0, 17.0], 'objective': 2459.0}","{'open_facilities': [0, 1], 'assignments': [1, 1, 1, 0, 1, 1]}",2459.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 700.0}], 'customers': [{'id': 0, 'demand': 15.0}, {'id': 1, 'demand': 19.0}, {'id': 2, 'demand': 10.0}, {'id': 3, 'demand': 26.0}, {'id': 4, 'demand': 18.0}, {'id': 5, 'demand': 17.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 414.0}, {'facility': 'F1', 'customer': 1, 'cost': 625.0}, {'facility': 'F1', 'customer': 2, 'cost': 428.0}, {'facility': 'F1', 'customer': 3, 'cost': 607.0}, {'facility': 'F1', 'customer': 4, 'cost': 181.0}, {'facility': 'F1', 'customer': 5, 'cost': 1040.0}, {'facility': 'F2', 'customer': 0, 'cost': 40.0}, {'facility': 'F2', 'customer': 1, 'cost': 467.0}, {'facility': 'F2', 'customer': 2, 'cost': 65.0}, {'facility': 'F2', 'customer': 3, 'cost': 1028.0}, {'facility': 'F2', 'customer': 4, 'cost': 36.0}, {'facility': 'F2', 'customer': 5, 'cost': 644.0}], 'objective': 2459.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F2', 'F2', 'F1', 'F2', 'F2']}",12,csv,0
CFLP,CFLP,"The planning team has to decide which candidate docking stations to activate and then assign each commuter zone to exactly one activated station, taking care that stations aren’t asked to serve more riders than their dock counts allow. Activating a station charges a cost, and each assignment carries a redistribution or travel cost; the total cost of any configuration is simply the sum of the activation costs for chosen stations plus all assignment costs, and the aim is to keep that combined total as low as possible. Every commuter zone needs a single assigned station (no omissions or duplicates), and station capacities must not be exceeded. The detailed instance information is provided below.

There are 3 candidate docking hubs and 6 commuter zones described below.
Hub F1 has activation cost 258.0 and dock capacity 366.0.
Hub F2 has activation cost 128.0 and dock capacity 314.0.
Hub F3 has activation cost 225.0 and dock capacity 504.0.
Commuter zone 0 has rider demand 23.0.
Commuter zone 1 has rider demand 18.0.
Commuter zone 2 has rider demand 39.0.
Commuter zone 3 has rider demand 26.0.
Commuter zone 4 has rider demand 14.0.
Commuter zone 5 has rider demand 49.0.
Assigning zone 0 to hub F1 incurs redistribution cost 418.0.
Assigning zone 1 to hub F1 incurs redistribution cost 346.0.
Assigning zone 2 to hub F1 incurs redistribution cost 143.0.
Assigning zone 3 to hub F1 incurs redistribution cost 329.0.
Assigning zone 4 to hub F1 incurs redistribution cost 28.0.
Assigning zone 5 to hub F1 incurs redistribution cost 68.0.
Assigning zone 0 to hub F2 incurs redistribution cost 34.0.
Assigning zone 1 to hub F2 incurs redistribution cost 180.0.
Assigning zone 2 to hub F2 incurs redistribution cost 242.0.
Assigning zone 3 to hub F2 incurs redistribution cost 585.0.
Assigning zone 4 to hub F2 incurs redistribution cost 374.0.
Assigning zone 5 to hub F2 incurs redistribution cost 344.0.
Assigning zone 0 to hub F3 incurs redistribution cost 240.0.
Assigning zone 1 to hub F3 incurs redistribution cost 179.0.
Assigning zone 2 to hub F3 incurs redistribution cost 59.0.
Assigning zone 3 to hub F3 incurs redistribution cost 451.0.
Assigning zone 4 to hub F3 incurs redistribution cost 170.0.
Assigning zone 5 to hub F3 incurs redistribution cost 138.0.
The planning team must use these 3 hubs and 6 zones details to choose activations and assign each zone while respecting dock capacities.

You can just reply with the results in a simple JSON shape β€” nothing fancy. Here's the layout to follow:

{
  ""solution"": {
    ""selected"": [<station_to_open>, <station_to_open>, ...],
    ""assignments"": [<assigned_station>, <assigned_station>, ...]
  }
}

""selected"" is where you list the station identifiers you choose to activate, and ""assignments"" is a list that (in the same order as the commuter zones were given in the instance) names the single activated station each zone is assigned to. Think of it like filling out a short form: which stations are turned on, and which station each zone uses.

This JSON is just a sketch of the shape I expect β€” not the actual solution values.

Please use the exact identifiers from the instance input β€” do not rename them or invent new labels.
- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [258.0, 128.0, 225.0], 'capacities': [366.0, 314.0, 504.0], 'connection_costs': [[418.0, 346.0, 143.0, 329.0, 28.0, 68.0], [34.0, 180.0, 242.0, 585.0, 374.0, 344.0], [240.0, 179.0, 59.0, 451.0, 170.0, 138.0]], 'demands': [23.0, 18.0, 39.0, 26.0, 14.0, 49.0], 'objective': 1168.0}","{'open_facilities': [0, 1], 'assignments': [1, 1, 0, 0, 0, 0]}",1168.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 258.0, 'capacity': 366.0}, {'id': 'F2', 'opening_cost': 128.0, 'capacity': 314.0}, {'id': 'F3', 'opening_cost': 225.0, 'capacity': 504.0}], 'customers': [{'id': 0, 'demand': 23.0}, {'id': 1, 'demand': 18.0}, {'id': 2, 'demand': 39.0}, {'id': 3, 'demand': 26.0}, {'id': 4, 'demand': 14.0}, {'id': 5, 'demand': 49.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 418.0}, {'facility': 'F1', 'customer': 1, 'cost': 346.0}, {'facility': 'F1', 'customer': 2, 'cost': 143.0}, {'facility': 'F1', 'customer': 3, 'cost': 329.0}, {'facility': 'F1', 'customer': 4, 'cost': 28.0}, {'facility': 'F1', 'customer': 5, 'cost': 68.0}, {'facility': 'F2', 'customer': 0, 'cost': 34.0}, {'facility': 'F2', 'customer': 1, 'cost': 180.0}, {'facility': 'F2', 'customer': 2, 'cost': 242.0}, {'facility': 'F2', 'customer': 3, 'cost': 585.0}, {'facility': 'F2', 'customer': 4, 'cost': 374.0}, {'facility': 'F2', 'customer': 5, 'cost': 344.0}, {'facility': 'F3', 'customer': 0, 'cost': 240.0}, {'facility': 'F3', 'customer': 1, 'cost': 179.0}, {'facility': 'F3', 'customer': 2, 'cost': 59.0}, {'facility': 'F3', 'customer': 3, 'cost': 451.0}, {'facility': 'F3', 'customer': 4, 'cost': 170.0}, {'facility': 'F3', 'customer': 5, 'cost': 138.0}], 'objective': 1168.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F2', 'F1', 'F1', 'F1', 'F1']}",13,nl,0
CFLP,CFLP,"We’ve got a bunch of farms and a shortlist of packing facilities; the job is to pick which facilities to operate and route each farm’s harvest to one of the open ones. Each facility has a running cost and a hard limit on how much it can process, and moving produce from farm to facility incurs transport charges. The winning plan is the one with the smallest overall cost β€” that’s just the sum of all facility opening costs plus all transport charges. Every farm’s output has to go to exactly one operating facility, and no facility can be overloaded beyond its limit. The exact facilities, capacities, and costs are listed below.

# num_packing_facilities=2
# num_farms=6
# PACKING_FACILITYS
packing_facility_id,facility_opening_cost,throughput_capacity
F1,600.0,500.0
F2,600.0,500.0
# FARMS
farm_id,farm_production
0,40.0
1,17.0
2,32.0
3,35.0
4,18.0
5,36.0
# TRANSPORTS
packing_facility_id,farm_id,transport_cost
F1,0,427.0
F1,1,586.0
F1,2,631.0
F1,3,771.0
F1,4,570.0
F1,5,521.0
F2,0,507.0
F2,1,389.0
F2,2,129.0
F2,3,529.0
F2,4,147.0
F2,5,744.0

Oh, and when you send the plan back, keep it in a tiny, predictable JSON shape so it's easy to read. Something like this:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
  }
}

""selected"" is just the list of packing sites you decide to run, and ""assignments"" is a list (in the same order as the farms were given) saying which open site each farm ships to. Super casual β€” think of it like filling out a short form, not a technical report.

This JSON is only a sketch of the expected shape, not the actual answer. Please use the exact identifiers from the instance input β€” do not rename or invent labels. 

Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [600.0, 600.0], 'capacities': [500.0, 500.0], 'connection_costs': [[427.0, 586.0, 631.0, 771.0, 570.0, 521.0], [507.0, 389.0, 129.0, 529.0, 147.0, 744.0]], 'demands': [40.0, 17.0, 32.0, 35.0, 18.0, 36.0], 'objective': 3045.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",3045.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 500.0}], 'customers': [{'id': 0, 'demand': 40.0}, {'id': 1, 'demand': 17.0}, {'id': 2, 'demand': 32.0}, {'id': 3, 'demand': 35.0}, {'id': 4, 'demand': 18.0}, {'id': 5, 'demand': 36.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 427.0}, {'facility': 'F1', 'customer': 1, 'cost': 586.0}, {'facility': 'F1', 'customer': 2, 'cost': 631.0}, {'facility': 'F1', 'customer': 3, 'cost': 771.0}, {'facility': 'F1', 'customer': 4, 'cost': 570.0}, {'facility': 'F1', 'customer': 5, 'cost': 521.0}, {'facility': 'F2', 'customer': 0, 'cost': 507.0}, {'facility': 'F2', 'customer': 1, 'cost': 389.0}, {'facility': 'F2', 'customer': 2, 'cost': 129.0}, {'facility': 'F2', 'customer': 3, 'cost': 529.0}, {'facility': 'F2', 'customer': 4, 'cost': 147.0}, {'facility': 'F2', 'customer': 5, 'cost': 744.0}], 'objective': 3045.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",14,csv,0
CFLP,CFLP,"Many people organizing artisan fairs face this: deciding which vendor booths to rent and how to assign each maker to a single rented spot. Booths cost money and have limited display space, and assigning a maker to a booth usually incurs a setup/transfer charge. A smarter layout is the one that costs the least overall β€” add together the booth rents and all assignment/setup charges to get the final cost β€” while making sure every maker gets one rented booth and no booth’s space limit is broken. The specific booth fees, capacities, and maker requirements come next below.

There are 4 booths and 8 makers in this instance.

**Booths**
| booth_id | booth_rental_fee | booth_space_capacity |
|---|---|---|
| F1 | 400.0 | 523.0 |
| F2 | 400.0 | 491.0 |
| F3 | 400.0 | 410.0 |
| F4 | 400.0 | 564.0 |

**Makers**
| maker_id | maker_space_requirement |
|---|---|
| 0 | 28.0 |
| 1 | 12.0 |
| 2 | 13.0 |
| 3 | 13.0 |
| 4 | 12.0 |
| 5 | 19.0 |
| 6 | 17.0 |
| 7 | 12.0 |

**Setup Transfer Cost**
| booth_id | maker_id | setup_transfer_cost |
|---|---|---|
| F1 | 0 | 778.0 |
| F1 | 1 | 885.0 |
| F1 | 2 | 1263.0 |
| F1 | 3 | 1031.0 |
| F1 | 4 | 693.0 |
| F1 | 5 | 878.0 |
| F1 | 6 | 1131.0 |
| F1 | 7 | 1184.0 |
| F2 | 0 | 66.0 |
| F2 | 1 | 131.0 |
| F2 | 2 | 712.0 |
| F2 | 3 | 341.0 |
| F2 | 4 | 57.0 |
| F2 | 5 | 273.0 |
| F2 | 6 | 146.0 |
| F2 | 7 | 429.0 |
| F3 | 0 | 924.0 |
| F3 | 1 | 1066.0 |
| F3 | 2 | 1130.0 |
| F3 | 3 | 973.0 |
| F3 | 4 | 864.0 |
| F3 | 5 | 821.0 |
| F3 | 6 | 1176.0 |
| F3 | 7 | 1126.0 |
| F4 | 0 | 474.0 |
| F4 | 1 | 656.0 |
| F4 | 2 | 399.0 |
| F4 | 3 | 26.0 |
| F4 | 4 | 473.0 |
| F4 | 5 | 42.0 |
| F4 | 6 | 421.0 |
| F4 | 7 | 180.0 |

Oh, and when you send the solution back, just use this little JSON layout so it's easy to check:

{
  ""solution"": {
    ""selected"": [<booth_to_rent>, <booth_to_rent>, ...],
    ""assignments"": [<rented_booth_for_maker>, <rented_booth_for_maker>, ...]
  }
}

""selected"" is where you list the booths you're renting. ""assignments"" is one entry per maker, saying which rented booth that maker gets (use the same order the instance lists the makers). This is just a sketch of the shape I expect, not the actual answer β€” fill in the real identifiers from the instance.

Please make sure you use each identifier exactly as it appears in the instance input β€” no renaming and no new labels. 

- For example: ""Valid identifiers look like plain numbers such as ""1"" or ""23"", single capital letters like ""A"" or ""B"", or a capital letter followed by digits like ""A1"" or ""X7"".""","{'opening_costs': [400.0, 400.0, 400.0, 400.0], 'capacities': [523.0, 491.0, 410.0, 564.0], 'connection_costs': [[778.0, 885.0, 1263.0, 1031.0, 693.0, 878.0, 1131.0, 1184.0], [66.0, 131.0, 712.0, 341.0, 57.0, 273.0, 146.0, 429.0], [924.0, 1066.0, 1130.0, 973.0, 864.0, 821.0, 1176.0, 1126.0], [474.0, 656.0, 399.0, 26.0, 473.0, 42.0, 421.0, 180.0]], 'demands': [28.0, 12.0, 13.0, 13.0, 12.0, 19.0, 17.0, 12.0], 'objective': 1847.0}","{'open_facilities': [1, 3], 'assignments': [1, 1, 3, 3, 1, 3, 1, 3]}",1847.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 8, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 523.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 491.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 410.0}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 564.0}], 'customers': [{'id': 0, 'demand': 28.0}, {'id': 1, 'demand': 12.0}, {'id': 2, 'demand': 13.0}, {'id': 3, 'demand': 13.0}, {'id': 4, 'demand': 12.0}, {'id': 5, 'demand': 19.0}, {'id': 6, 'demand': 17.0}, {'id': 7, 'demand': 12.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 778.0}, {'facility': 'F1', 'customer': 1, 'cost': 885.0}, {'facility': 'F1', 'customer': 2, 'cost': 1263.0}, {'facility': 'F1', 'customer': 3, 'cost': 1031.0}, {'facility': 'F1', 'customer': 4, 'cost': 693.0}, {'facility': 'F1', 'customer': 5, 'cost': 878.0}, {'facility': 'F1', 'customer': 6, 'cost': 1131.0}, {'facility': 'F1', 'customer': 7, 'cost': 1184.0}, {'facility': 'F2', 'customer': 0, 'cost': 66.0}, {'facility': 'F2', 'customer': 1, 'cost': 131.0}, {'facility': 'F2', 'customer': 2, 'cost': 712.0}, {'facility': 'F2', 'customer': 3, 'cost': 341.0}, {'facility': 'F2', 'customer': 4, 'cost': 57.0}, {'facility': 'F2', 'customer': 5, 'cost': 273.0}, {'facility': 'F2', 'customer': 6, 'cost': 146.0}, {'facility': 'F2', 'customer': 7, 'cost': 429.0}, {'facility': 'F3', 'customer': 0, 'cost': 924.0}, {'facility': 'F3', 'customer': 1, 'cost': 1066.0}, {'facility': 'F3', 'customer': 2, 'cost': 1130.0}, {'facility': 'F3', 'customer': 3, 'cost': 973.0}, {'facility': 'F3', 'customer': 4, 'cost': 864.0}, {'facility': 'F3', 'customer': 5, 'cost': 821.0}, {'facility': 'F3', 'customer': 6, 'cost': 1176.0}, {'facility': 'F3', 'customer': 7, 'cost': 1126.0}, {'facility': 'F4', 'customer': 0, 'cost': 474.0}, {'facility': 'F4', 'customer': 1, 'cost': 656.0}, {'facility': 'F4', 'customer': 2, 'cost': 399.0}, {'facility': 'F4', 'customer': 3, 'cost': 26.0}, {'facility': 'F4', 'customer': 4, 'cost': 473.0}, {'facility': 'F4', 'customer': 5, 'cost': 42.0}, {'facility': 'F4', 'customer': 6, 'cost': 421.0}, {'facility': 'F4', 'customer': 7, 'cost': 180.0}], 'objective': 1847.0}","{'selected': ['F2', 'F4'], 'assignments': ['F2', 'F2', 'F4', 'F4', 'F2', 'F4', 'F2', 'F4']}",15,markdown_table,0
CFLP,CFLP,"At the coordination office the question is straightforward: which staging areas should be staffed, and which staffed area should handle each beneficiary community? Staffing each area costs money and comes with a limit on how many people it can serve; moving aid from a staffed area to a community also costs something. Each community must be assigned to one staffed area only, and no staffed area can be assigned more demand than it can support. The plan that’s β€œbetter” is the one with the lowest total expense β€” add together the staffing costs for all staffed areas used and the distribution costs for every community assignment β€” and choose the arrangement with the smallest sum. The concrete details are given below.

# num_staging_areas=2
# num_communities=5
# STAGING_AREAS
staging_area_id,staffing_cost,staging_capacity
F1,600.0,700.0
F2,600.0,700.0
# COMMUNITYS
community_id,beneficiary_demand
0,18.0
1,20.0
2,22.0
3,23.0
4,11.0
# DISTRIBUTIONS
staging_area_id,community_id,distribution_cost
F1,0,46.0
F1,1,281.0
F1,2,44.0
F1,3,98.0
F1,4,157.0
F2,0,851.0
F2,1,695.0
F2,2,2301.0
F2,3,1290.0
F2,4,661.0

Also, when you send the plan back, please follow this simple JSON layout so it's easy to parse and check:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
  }
}

Think of ""selected"" as the list of staging areas you'll staff, and ""assignments"" as which staffed area handles each beneficiary community (listed in the same order as the communities in the instance). This JSON is just a sketch of the shape I need β€” not the final answer itself.

Please make sure you use the exact identifiers from the instance input, without renaming or inventing new labels. 
- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [600.0, 600.0], 'capacities': [700.0, 700.0], 'connection_costs': [[46.0, 281.0, 44.0, 98.0, 157.0], [851.0, 695.0, 2301.0, 1290.0, 661.0]], 'demands': [18.0, 20.0, 22.0, 23.0, 11.0], 'objective': 1226.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",1226.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 700.0}], 'customers': [{'id': 0, 'demand': 18.0}, {'id': 1, 'demand': 20.0}, {'id': 2, 'demand': 22.0}, {'id': 3, 'demand': 23.0}, {'id': 4, 'demand': 11.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 46.0}, {'facility': 'F1', 'customer': 1, 'cost': 281.0}, {'facility': 'F1', 'customer': 2, 'cost': 44.0}, {'facility': 'F1', 'customer': 3, 'cost': 98.0}, {'facility': 'F1', 'customer': 4, 'cost': 157.0}, {'facility': 'F2', 'customer': 0, 'cost': 851.0}, {'facility': 'F2', 'customer': 1, 'cost': 695.0}, {'facility': 'F2', 'customer': 2, 'cost': 2301.0}, {'facility': 'F2', 'customer': 3, 'cost': 1290.0}, {'facility': 'F2', 'customer': 4, 'cost': 661.0}], 'objective': 1226.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",16,csv,0
CFLP,CFLP,"There’s a juggling act in the warehouse world: a bookstore chain has several candidate warehouses, each with a set capacity and a fixed fee to open, and a bunch of shops that all need restocking. The job is to pick which warehouses to open and assign every shop to one of the opened warehouses. Better choices are the ones that save money overall β€” add up the opened warehouses’ fixed fees and all the shipping charges to see the total β€” but a warehouse can’t be given more orders than its capacity, and every shop must be assigned to exactly one opened warehouse. The detailed figures are shown below.

{
  ""num_candidate_warehouses"": 4,
  ""num_shops"": 8,
  ""warehouses"": [
    {
      ""warehouse_id"": ""F1"",
      ""warehouse_fixed_cost"": 300.0,
      ""warehouse_capacity"": 700.0
    },
    {
      ""warehouse_id"": ""F2"",
      ""warehouse_fixed_cost"": 300.0,
      ""warehouse_capacity"": 700.0
    },
    {
      ""warehouse_id"": ""F3"",
      ""warehouse_fixed_cost"": 300.0,
      ""warehouse_capacity"": 700.0
    },
    {
      ""warehouse_id"": ""F4"",
      ""warehouse_fixed_cost"": 300.0,
      ""warehouse_capacity"": 700.0
    }
  ],
  ""shops"": [
    {
      ""shop_id"": 0,
      ""shop_demand"": 14.0
    },
    {
      ""shop_id"": 1,
      ""shop_demand"": 19.0
    },
    {
      ""shop_id"": 2,
      ""shop_demand"": 27.0
    },
    {
      ""shop_id"": 3,
      ""shop_demand"": 17.0
    },
    {
      ""shop_id"": 4,
      ""shop_demand"": 13.0
    },
    {
      ""shop_id"": 5,
      ""shop_demand"": 16.0
    },
    {
      ""shop_id"": 6,
      ""shop_demand"": 11.0
    },
    {
      ""shop_id"": 7,
      ""shop_demand"": 22.0
    }
  ],
  ""shippings"": [
    {
      ""warehouse_id"": ""F1"",
      ""shop_id"": 0,
      ""shipping_cost"": 479.0
    },
    {
      ""warehouse_id"": ""F1"",
      ""shop_id"": 1,
      ""shipping_cost"": 1889.0
    },
    {
      ""warehouse_id"": ""F1"",
      ""shop_id"": 2,
      ""shipping_cost"": 1300.0
    },
    {
      ""warehouse_id"": ""F1"",
      ""shop_id"": 3,
      ""shipping_cost"": 65.0
    },
    {
      ""warehouse_id"": ""F1"",
      ""shop_id"": 4,
      ""shipping_cost"": 475.0
    },
    {
      ""warehouse_id"": ""F1"",
      ""shop_id"": 5,
      ""shipping_cost"": 1354.0
    },
    {
      ""warehouse_id"": ""F1"",
      ""shop_id"": 6,
      ""shipping_cost"": 148.0
    },
    {
      ""warehouse_id"": ""F1"",
      ""shop_id"": 7,
      ""shipping_cost"": 922.0
    },
    {
      ""warehouse_id"": ""F2"",
      ""shop_id"": 0,
      ""shipping_cost"": 570.0
    },
    {
      ""warehouse_id"": ""F2"",
      ""shop_id"": 1,
      ""shipping_cost"": 646.0
    },
    {
      ""warehouse_id"": ""F2"",
      ""shop_id"": 2,
      ""shipping_cost"": 429.0
    },
    {
      ""warehouse_id"": ""F2"",
      ""shop_id"": 3,
      ""shipping_cost"": 181.0
    },
    {
      ""warehouse_id"": ""F2"",
      ""shop_id"": 4,
      ""shipping_cost"": 371.0
    },
    {
      ""warehouse_id"": ""F2"",
      ""shop_id"": 5,
      ""shipping_cost"": 123.0
    },
    {
      ""warehouse_id"": ""F2"",
      ""shop_id"": 6,
      ""shipping_cost"": 303.0
    },
    {
      ""warehouse_id"": ""F2"",
      ""shop_id"": 7,
      ""shipping_cost"": 872.0
    },
    {
      ""warehouse_id"": ""F3"",
      ""shop_id"": 0,
      ""shipping_cost"": 1030.0
    },
    {
      ""warehouse_id"": ""F3"",
      ""shop_id"": 1,
      ""shipping_cost"": 2409.0
    },
    {
      ""warehouse_id"": ""F3"",
      ""shop_id"": 2,
      ""shipping_cost"": 1854.0
    },
    {
      ""warehouse_id"": ""F3"",
      ""shop_id"": 3,
      ""shipping_cost"": 291.0
    },
    {
      ""warehouse_id"": ""F3"",
      ""shop_id"": 4,
      ""shipping_cost"": 1105.0
    },
    {
      ""warehouse_id"": ""F3"",
      ""shop_id"": 5,
      ""shipping_cost"": 1664.0
    },
    {
      ""warehouse_id"": ""F3"",
      ""shop_id"": 6,
      ""shipping_cost"": 669.0
    },
    {
      ""warehouse_id"": ""F3"",
      ""shop_id"": 7,
      ""shipping_cost"": 1518.0
    },
    {
      ""warehouse_id"": ""F4"",
      ""shop_id"": 0,
      ""shipping_cost"": 158.0
    },
    {
      ""warehouse_id"": ""F4"",
      ""shop_id"": 1,
      ""shipping_cost"": 1400.0
    },
    {
      ""warehouse_id"": ""F4"",
      ""shop_id"": 2,
      ""shipping_cost"": 803.0
    },
    {
      ""warehouse_id"": ""F4"",
      ""shop_id"": 3,
      ""shipping_cost"": 41.0
    },
    {
      ""warehouse_id"": ""F4"",
      ""shop_id"": 4,
      ""shipping_cost"": 34.0
    },
    {
      ""warehouse_id"": ""F4"",
      ""shop_id"": 5,
      ""shipping_cost"": 1126.0
    },
    {
      ""warehouse_id"": ""F4"",
      ""shop_id"": 6,
      ""shipping_cost"": 34.0
    },
    {
      ""warehouse_id"": ""F4"",
      ""shop_id"": 7,
      ""shipping_cost"": 399.0
    }
  ]
}

Also, when you send back your choice, please use a little JSON sketch like the one below so it's easy to read and plug in:

{
  ""solution"": {
    ""selected"": [<warehouse_to_open>, <warehouse_to_open>, ...],
    ""assignments"": [<chosen_open_warehouse>, <chosen_open_warehouse>, ...]
  }
}

Think of ""selected"" as the list of warehouse sites you decide to open, and ""assignments"" as the list (in the same order as the shops were given) of which opened warehouse each shop gets linked to. This is just the shape I want your answer in β€” a template, not the final numbers.

Please make sure to use the exact identifiers from the instance input when you fill this in β€” do not rename them or invent new ones. For example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [300.0, 300.0, 300.0, 300.0], 'capacities': [700.0, 700.0, 700.0, 700.0], 'connection_costs': [[479.0, 1889.0, 1300.0, 65.0, 475.0, 1354.0, 148.0, 922.0], [570.0, 646.0, 429.0, 181.0, 371.0, 123.0, 303.0, 872.0], [1030.0, 2409.0, 1854.0, 291.0, 1105.0, 1664.0, 669.0, 1518.0], [158.0, 1400.0, 803.0, 41.0, 34.0, 1126.0, 34.0, 399.0]], 'demands': [14.0, 19.0, 27.0, 17.0, 13.0, 16.0, 11.0, 22.0], 'objective': 2464.0}","{'open_facilities': [1, 3], 'assignments': [3, 1, 1, 3, 3, 1, 3, 3]}",2464.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 8, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 700.0}, {'id': 'F3', 'opening_cost': 300.0, 'capacity': 700.0}, {'id': 'F4', 'opening_cost': 300.0, 'capacity': 700.0}], 'customers': [{'id': 0, 'demand': 14.0}, {'id': 1, 'demand': 19.0}, {'id': 2, 'demand': 27.0}, {'id': 3, 'demand': 17.0}, {'id': 4, 'demand': 13.0}, {'id': 5, 'demand': 16.0}, {'id': 6, 'demand': 11.0}, {'id': 7, 'demand': 22.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 479.0}, {'facility': 'F1', 'customer': 1, 'cost': 1889.0}, {'facility': 'F1', 'customer': 2, 'cost': 1300.0}, {'facility': 'F1', 'customer': 3, 'cost': 65.0}, {'facility': 'F1', 'customer': 4, 'cost': 475.0}, {'facility': 'F1', 'customer': 5, 'cost': 1354.0}, {'facility': 'F1', 'customer': 6, 'cost': 148.0}, {'facility': 'F1', 'customer': 7, 'cost': 922.0}, {'facility': 'F2', 'customer': 0, 'cost': 570.0}, {'facility': 'F2', 'customer': 1, 'cost': 646.0}, {'facility': 'F2', 'customer': 2, 'cost': 429.0}, {'facility': 'F2', 'customer': 3, 'cost': 181.0}, {'facility': 'F2', 'customer': 4, 'cost': 371.0}, {'facility': 'F2', 'customer': 5, 'cost': 123.0}, {'facility': 'F2', 'customer': 6, 'cost': 303.0}, {'facility': 'F2', 'customer': 7, 'cost': 872.0}, {'facility': 'F3', 'customer': 0, 'cost': 1030.0}, {'facility': 'F3', 'customer': 1, 'cost': 2409.0}, {'facility': 'F3', 'customer': 2, 'cost': 1854.0}, {'facility': 'F3', 'customer': 3, 'cost': 291.0}, {'facility': 'F3', 'customer': 4, 'cost': 1105.0}, {'facility': 'F3', 'customer': 5, 'cost': 1664.0}, {'facility': 'F3', 'customer': 6, 'cost': 669.0}, {'facility': 'F3', 'customer': 7, 'cost': 1518.0}, {'facility': 'F4', 'customer': 0, 'cost': 158.0}, {'facility': 'F4', 'customer': 1, 'cost': 1400.0}, {'facility': 'F4', 'customer': 2, 'cost': 803.0}, {'facility': 'F4', 'customer': 3, 'cost': 41.0}, {'facility': 'F4', 'customer': 4, 'cost': 34.0}, {'facility': 'F4', 'customer': 5, 'cost': 1126.0}, {'facility': 'F4', 'customer': 6, 'cost': 34.0}, {'facility': 'F4', 'customer': 7, 'cost': 399.0}], 'objective': 2464.0}","{'selected': ['F2', 'F4'], 'assignments': ['F4', 'F2', 'F2', 'F4', 'F4', 'F2', 'F4', 'F4']}",17,json,0
CFLP,CFLP,"I run the city's bike repair program and need to pick which repair hubs to keep running, then send every reported fault to exactly one of the hubs that are open. Each hub has a startup price and can only handle a certain number of fixes, and getting a mechanic out to a fault costs something based on distance β€” so a better plan is the one that keeps the total bill as small as possible by adding up the opening fees for the hubs we choose and the travel cost for every repair. Nothing can be left unassigned or sent to two places, and no hub can be asked to do more than its limit. The concrete details β€” locations, opening costs, capacities and reported faults β€” are shown below.

Here are the details for the 2 candidate hubs and the 5 reported faults:
Hub F1 would cost 600.0 to open and can handle up to 700.0 fixes.
Hub F2 would cost 600.0 to open and can handle up to 700.0 fixes.
Fault 0 requires 23.0 repair-units that I must assign to an open hub.
Fault 1 requires 26.0 repair-units that I must assign to an open hub.
Fault 2 requires 23.0 repair-units that I must assign to an open hub.
Fault 3 requires 17.0 repair-units that I must assign to an open hub.
Fault 4 requires 22.0 repair-units that I must assign to an open hub.
Assigning fault 0 to hub F1 would incur a travel service cost of 266.0.
Assigning fault 1 to hub F1 would incur a travel service cost of 311.0.
Assigning fault 2 to hub F1 would incur a travel service cost of 683.0.
Assigning fault 3 to hub F1 would incur a travel service cost of 989.0.
Assigning fault 4 to hub F1 would incur a travel service cost of 1335.0.
Assigning fault 0 to hub F2 would incur a travel service cost of 480.0.
Assigning fault 1 to hub F2 would incur a travel service cost of 330.0.
Assigning fault 2 to hub F2 would incur a travel service cost of 896.0.
Assigning fault 3 to hub F2 would incur a travel service cost of 911.0.
Assigning fault 4 to hub F2 would incur a travel service cost of 1222.0.
I'll pick which hubs to open and assign every fault so all 5 are covered within capacities and the total of opening fees plus travel costs is minimized.

Also, when you send back the plan, please stick to this simple JSON shape so I can read it easily:

{
  ""solution"": {
    ""selected"": [<hub_to_open>, <hub_to_open>, ...],
    ""assignments"": [<assigned_hub>, <assigned_hub>, ...]
  }
}

This is just a sketch of the shape I expect, not the real answer β€” fill the arrays with the actual hub identifiers from the instance. ""selected"" is the list of hubs you choose to keep running; ""assignments"" is a list that, for each reported fault in the same order as the input, gives the single open hub that will handle it.

Please don't invent new labels or change the identifiers from the instance β€” use them exactly as given.  
For example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [600.0, 600.0], 'capacities': [700.0, 700.0], 'connection_costs': [[266.0, 311.0, 683.0, 989.0, 1335.0], [480.0, 330.0, 896.0, 911.0, 1222.0]], 'demands': [23.0, 26.0, 23.0, 17.0, 22.0], 'objective': 4184.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",4184.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 700.0}], 'customers': [{'id': 0, 'demand': 23.0}, {'id': 1, 'demand': 26.0}, {'id': 2, 'demand': 23.0}, {'id': 3, 'demand': 17.0}, {'id': 4, 'demand': 22.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 266.0}, {'facility': 'F1', 'customer': 1, 'cost': 311.0}, {'facility': 'F1', 'customer': 2, 'cost': 683.0}, {'facility': 'F1', 'customer': 3, 'cost': 989.0}, {'facility': 'F1', 'customer': 4, 'cost': 1335.0}, {'facility': 'F2', 'customer': 0, 'cost': 480.0}, {'facility': 'F2', 'customer': 1, 'cost': 330.0}, {'facility': 'F2', 'customer': 2, 'cost': 896.0}, {'facility': 'F2', 'customer': 3, 'cost': 911.0}, {'facility': 'F2', 'customer': 4, 'cost': 1222.0}], 'objective': 4184.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",18,nl,0
CFLP,CFLP,"Out in the field, the food bank team must choose a handful of distribution points to staff and then direct every recipient area to exactly one of those staffed points. Each staffed point has a price tag to keep it open and each assignment from a point to an area has a delivery cost, so the best-looking plan is the one with the lowest total cost β€” add the staffing cost of each open point to all the delivery costs for the assignments. Each area must be covered once and only once, and each staffed point has a maximum amount it can serve, so assignments must stay within those limits. The concrete figures are provided below.

{
  ""num_distribution_points"": 3,
  ""num_recipient_areas"": 6,
  ""distribution_points"": [
    {
      ""distribution_point_id"": ""F1"",
      ""staffing_cost"": 600.0,
      ""distribution_capacity"": 500.0
    },
    {
      ""distribution_point_id"": ""F2"",
      ""staffing_cost"": 600.0,
      ""distribution_capacity"": 500.0
    },
    {
      ""distribution_point_id"": ""F3"",
      ""staffing_cost"": 600.0,
      ""distribution_capacity"": 500.0
    }
  ],
  ""recipient_areas"": [
    {
      ""recipient_area_id"": ""A"",
      ""area_demand"": 23.0
    },
    {
      ""recipient_area_id"": ""B"",
      ""area_demand"": 15.0
    },
    {
      ""recipient_area_id"": ""C"",
      ""area_demand"": 22.0
    },
    {
      ""recipient_area_id"": ""D"",
      ""area_demand"": 19.0
    },
    {
      ""recipient_area_id"": ""E"",
      ""area_demand"": 12.0
    },
    {
      ""recipient_area_id"": ""F"",
      ""area_demand"": 13.0
    }
  ],
  ""deliverys"": [
    {
      ""distribution_point_id"": ""F1"",
      ""recipient_area_id"": ""A"",
      ""delivery_cost"": 415.0
    },
    {
      ""distribution_point_id"": ""F1"",
      ""recipient_area_id"": ""B"",
      ""delivery_cost"": 140.0
    },
    {
      ""distribution_point_id"": ""F1"",
      ""recipient_area_id"": ""C"",
      ""delivery_cost"": 832.0
    },
    {
      ""distribution_point_id"": ""F1"",
      ""recipient_area_id"": ""D"",
      ""delivery_cost"": 182.0
    },
    {
      ""distribution_point_id"": ""F1"",
      ""recipient_area_id"": ""E"",
      ""delivery_cost"": 331.0
    },
    {
      ""distribution_point_id"": ""F1"",
      ""recipient_area_id"": ""F"",
      ""delivery_cost"": 156.0
    },
    {
      ""distribution_point_id"": ""F2"",
      ""recipient_area_id"": ""A"",
      ""delivery_cost"": 601.0
    },
    {
      ""distribution_point_id"": ""F2"",
      ""recipient_area_id"": ""B"",
      ""delivery_cost"": 31.0
    },
    {
      ""distribution_point_id"": ""F2"",
      ""recipient_area_id"": ""C"",
      ""delivery_cost"": 729.0
    },
    {
      ""distribution_point_id"": ""F2"",
      ""recipient_area_id"": ""D"",
      ""delivery_cost"": 95.0
    },
    {
      ""distribution_point_id"": ""F2"",
      ""recipient_area_id"": ""E"",
      ""delivery_cost"": 88.0
    },
    {
      ""distribution_point_id"": ""F2"",
      ""recipient_area_id"": ""F"",
      ""delivery_cost"": 50.0
    },
    {
      ""distribution_point_id"": ""F3"",
      ""recipient_area_id"": ""A"",
      ""delivery_cost"": 763.0
    },
    {
      ""distribution_point_id"": ""F3"",
      ""recipient_area_id"": ""B"",
      ""delivery_cost"": 42.0
    },
    {
      ""distribution_point_id"": ""F3"",
      ""recipient_area_id"": ""C"",
      ""delivery_cost"": 1051.0
    },
    {
      ""distribution_point_id"": ""F3"",
      ""recipient_area_id"": ""D"",
      ""delivery_cost"": 42.0
    },
    {
      ""distribution_point_id"": ""F3"",
      ""recipient_area_id"": ""E"",
      ""delivery_cost"": 180.0
    },
    {
      ""distribution_point_id"": ""F3"",
      ""recipient_area_id"": ""F"",
      ""delivery_cost"": 27.0
    }
  ]
}

Just to keep things tidy, when you send the plan back please use this simple JSON layout so I can read it reliably:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<site_assigned_to>, <site_assigned_to>, ...]
  }
}

""selected"" is where you list the distribution points you'll staff (one placeholder per open point). ""assignments"" is a list showing, for each recipient area (in the same order as the instance), which staffed point it gets assigned to. Think of it like filling out a short form β€” who we open, and who goes where.

This JSON is just the expected shape β€” a sketch, not the actual filled-in answer.

Please use the exact identifiers from the instance input when you fill this in β€” do not rename them or invent new labels. 
- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [600.0, 600.0, 600.0], 'capacities': [500.0, 500.0, 500.0], 'connection_costs': [[415.0, 140.0, 832.0, 182.0, 331.0, 156.0], [601.0, 31.0, 729.0, 95.0, 88.0, 50.0], [763.0, 42.0, 1051.0, 42.0, 180.0, 27.0]], 'demands': [23.0, 15.0, 22.0, 19.0, 12.0, 13.0], 'objective': 2194.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",2194.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F3', 'opening_cost': 600.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 23.0}, {'id': 'B', 'demand': 15.0}, {'id': 'C', 'demand': 22.0}, {'id': 'D', 'demand': 19.0}, {'id': 'E', 'demand': 12.0}, {'id': 'F', 'demand': 13.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 415.0}, {'facility': 'F1', 'customer': 'B', 'cost': 140.0}, {'facility': 'F1', 'customer': 'C', 'cost': 832.0}, {'facility': 'F1', 'customer': 'D', 'cost': 182.0}, {'facility': 'F1', 'customer': 'E', 'cost': 331.0}, {'facility': 'F1', 'customer': 'F', 'cost': 156.0}, {'facility': 'F2', 'customer': 'A', 'cost': 601.0}, {'facility': 'F2', 'customer': 'B', 'cost': 31.0}, {'facility': 'F2', 'customer': 'C', 'cost': 729.0}, {'facility': 'F2', 'customer': 'D', 'cost': 95.0}, {'facility': 'F2', 'customer': 'E', 'cost': 88.0}, {'facility': 'F2', 'customer': 'F', 'cost': 50.0}, {'facility': 'F3', 'customer': 'A', 'cost': 763.0}, {'facility': 'F3', 'customer': 'B', 'cost': 42.0}, {'facility': 'F3', 'customer': 'C', 'cost': 1051.0}, {'facility': 'F3', 'customer': 'D', 'cost': 42.0}, {'facility': 'F3', 'customer': 'E', 'cost': 180.0}, {'facility': 'F3', 'customer': 'F', 'cost': 27.0}], 'objective': 2194.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",19,json,names
CFLP,CFLP,"There’s a bit of a balancing act at the returns desk: choose a subset of repair hubs to keep running, then route each incoming device to one of those hubs. Each hub charges a fixed amount to stay active and can only process a limited number of devices, and moving a device to a hub adds a per-item cost. The smart plan is the one that keeps the total expense (hub-running fees plus device-movement costs) as small as possible, with every returned device assigned once and no hub given more than it can handle. The exact details β€” what each hub costs and how many devices they can take β€” are shown below.

# num_repair_hubs=2
# num_returned_devices=5
# HUBS
hub_id,hub_running_cost,hub_capacity
F1,400.0,390.0
F2,400.0,259.0
# DEVICES
device_id,device_demand
A,18.0
B,22.0
C,23.0
D,29.0
E,27.0
# DEVICE_TRANSFERS
hub_id,device_id,device_transfer_cost
F1,A,1304.0
F1,B,848.0
F1,C,615.0
F1,D,182.0
F1,E,1125.0
F2,A,1095.0
F2,B,216.0
F2,C,839.0
F2,D,61.0
F2,E,1094.0

Oh, and when you send the plan back, please stick to this simple JSON shape so it's easy to read and check:

{
  ""solution"": {
    ""selected"": [<hub_to_open>, <hub_to_open>, ...],
    ""assignments"": [<assigned_hub>, <assigned_hub>, ...]
  }
}

Think of ""selected"" as the list of repair hubs you decide to keep running, and ""assignments"" as, for each returned device in the order they were listed, which hub it gets routed to. It's just a sketch of the form I need, not the actual final answer.

Please use the exact identifiers from the instance input β€” do not rename them or invent new labels. Valid identifiers look like plain numbers such as ""1"" or ""23"", single capital letters like ""A"" or ""B"", or a capital letter followed by digits like ""A1"" or ""X7"".","{'opening_costs': [400.0, 400.0], 'capacities': [390.0, 259.0], 'connection_costs': [[1304.0, 848.0, 615.0, 182.0, 1125.0], [1095.0, 216.0, 839.0, 61.0, 1094.0]], 'demands': [18.0, 22.0, 23.0, 29.0, 27.0], 'objective': 3705.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1]}",3705.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 390.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 259.0}], 'customers': [{'id': 'A', 'demand': 18.0}, {'id': 'B', 'demand': 22.0}, {'id': 'C', 'demand': 23.0}, {'id': 'D', 'demand': 29.0}, {'id': 'E', 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 1304.0}, {'facility': 'F1', 'customer': 'B', 'cost': 848.0}, {'facility': 'F1', 'customer': 'C', 'cost': 615.0}, {'facility': 'F1', 'customer': 'D', 'cost': 182.0}, {'facility': 'F1', 'customer': 'E', 'cost': 1125.0}, {'facility': 'F2', 'customer': 'A', 'cost': 1095.0}, {'facility': 'F2', 'customer': 'B', 'cost': 216.0}, {'facility': 'F2', 'customer': 'C', 'cost': 839.0}, {'facility': 'F2', 'customer': 'D', 'cost': 61.0}, {'facility': 'F2', 'customer': 'E', 'cost': 1094.0}], 'objective': 3705.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2']}",20,csv,names
CFLP,CFLP,"Recently the team mapped out options for neighborhood meal centers: which ones to bring online and which households each should handle. Bringing a center online requires paying its activation cost, and every center can only cover a fixed amount of demand. Serving a household from a particular center also costs something (distance, time, etc.). Every household must be assigned to exactly one active centerβ€”no splitting across centersβ€”and no active center can exceed its service limit. The best plan keeps the total cost (activation costs plus all delivery costs) as low as possible; that total is just the sum of the centers’ activation fees that are used plus all the household delivery costs. The specific numbers appear below.

There are 3 candidate centers and 7 households in the data below.
Center F1 has activation cost 300.0 and capacity 700.0.
Center F2 has activation cost 300.0 and capacity 700.0.
Center F3 has activation cost 300.0 and capacity 700.0.
Household A has demand 24.0.
Household B has demand 28.0.
Household C has demand 12.0.
Household D has demand 17.0.
Household E has demand 23.0.
Household F has demand 20.0.
Household G has demand 27.0.
Serving household A from center F1 incurs delivery cost 267.0.
Serving household B from center F1 incurs delivery cost 392.0.
Serving household C from center F1 incurs delivery cost 660.0.
Serving household D from center F1 incurs delivery cost 136.0.
Serving household E from center F1 incurs delivery cost 621.0.
Serving household F from center F1 incurs delivery cost 536.0.
Serving household G from center F1 incurs delivery cost 800.0.
Serving household A from center F2 incurs delivery cost 48.0.
Serving household B from center F2 incurs delivery cost 769.0.
Serving household C from center F2 incurs delivery cost 55.0.
Serving household D from center F2 incurs delivery cost 372.0.
Serving household E from center F2 incurs delivery cost 62.0.
Serving household F from center F2 incurs delivery cost 906.0.
Serving household G from center F2 incurs delivery cost 149.0.
Serving household A from center F3 incurs delivery cost 403.0.
Serving household B from center F3 incurs delivery cost 498.0.
Serving household C from center F3 incurs delivery cost 936.0.
Serving household D from center F3 incurs delivery cost 84.0.
Serving household E from center F3 incurs delivery cost 839.0.
Serving household F from center F3 incurs delivery cost 471.0.
Serving household G from center F3 incurs delivery cost 1094.0.
The team will use these figures to identify a plan that minimizes total activation plus delivery cost.

Also, when you send back the actual plan, please use this JSON layout so everything lines up cleanly:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
  }
}

""selected"" is the list of centers you decide to bring online (use the exact IDs from the instance). ""assignments"" is a list, one entry per household in the same order as the input, giving the open center that will serve that household. Think of it like a simple form β€” this block just shows the shape I need, not the final answers.

Please make sure to use the identifiers exactly as they appear in the instance input β€” do not rename them or invent new labels. For example:
- Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [300.0, 300.0, 300.0], 'capacities': [700.0, 700.0, 700.0], 'connection_costs': [[267.0, 392.0, 660.0, 136.0, 621.0, 536.0, 800.0], [48.0, 769.0, 55.0, 372.0, 62.0, 906.0, 149.0], [403.0, 498.0, 936.0, 84.0, 839.0, 471.0, 1094.0]], 'demands': [24.0, 28.0, 12.0, 17.0, 23.0, 20.0, 27.0], 'objective': 1967.0}","{'open_facilities': [1, 2], 'assignments': [1, 2, 1, 2, 1, 2, 1]}",1967.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 700.0}, {'id': 'F3', 'opening_cost': 300.0, 'capacity': 700.0}], 'customers': [{'id': 'A', 'demand': 24.0}, {'id': 'B', 'demand': 28.0}, {'id': 'C', 'demand': 12.0}, {'id': 'D', 'demand': 17.0}, {'id': 'E', 'demand': 23.0}, {'id': 'F', 'demand': 20.0}, {'id': 'G', 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 267.0}, {'facility': 'F1', 'customer': 'B', 'cost': 392.0}, {'facility': 'F1', 'customer': 'C', 'cost': 660.0}, {'facility': 'F1', 'customer': 'D', 'cost': 136.0}, {'facility': 'F1', 'customer': 'E', 'cost': 621.0}, {'facility': 'F1', 'customer': 'F', 'cost': 536.0}, {'facility': 'F1', 'customer': 'G', 'cost': 800.0}, {'facility': 'F2', 'customer': 'A', 'cost': 48.0}, {'facility': 'F2', 'customer': 'B', 'cost': 769.0}, {'facility': 'F2', 'customer': 'C', 'cost': 55.0}, {'facility': 'F2', 'customer': 'D', 'cost': 372.0}, {'facility': 'F2', 'customer': 'E', 'cost': 62.0}, {'facility': 'F2', 'customer': 'F', 'cost': 906.0}, {'facility': 'F2', 'customer': 'G', 'cost': 149.0}, {'facility': 'F3', 'customer': 'A', 'cost': 403.0}, {'facility': 'F3', 'customer': 'B', 'cost': 498.0}, {'facility': 'F3', 'customer': 'C', 'cost': 936.0}, {'facility': 'F3', 'customer': 'D', 'cost': 84.0}, {'facility': 'F3', 'customer': 'E', 'cost': 839.0}, {'facility': 'F3', 'customer': 'F', 'cost': 471.0}, {'facility': 'F3', 'customer': 'G', 'cost': 1094.0}], 'objective': 1967.0}","{'selected': ['F2', 'F3'], 'assignments': ['F2', 'F3', 'F2', 'F3', 'F2', 'F3', 'F2']}",21,nl,names
CFLP,CFLP,"Recently the festival team was working out where to install temporary water stations and how to route attendees, with the rule that each attendee must go to one installed station and stations can’t handle more people than their limit. Each station has a fee to set up and people have different walking distances depending on where they’re sent. The idea is to pick stations and assignments so the combined cost β€” setup fees plus total walking distance β€” is as low as possible. The actual station choices, capacities, fees, and attendee numbers will be shown below.

{
  ""num_candidate_stations"": 2,
  ""num_attendee_groups"": 5,
  ""stations"": [
    {
      ""station_id"": ""F1"",
      ""setup_fee"": 600.0,
      ""max_capacity"": 500.0
    },
    {
      ""station_id"": ""F2"",
      ""setup_fee"": 600.0,
      ""max_capacity"": 500.0
    }
  ],
  ""attendee_groups"": [
    {
      ""attendee_group_id"": ""A"",
      ""group_size"": 23.0
    },
    {
      ""attendee_group_id"": ""B"",
      ""group_size"": 22.0
    },
    {
      ""attendee_group_id"": ""C"",
      ""group_size"": 18.0
    },
    {
      ""attendee_group_id"": ""D"",
      ""group_size"": 16.0
    },
    {
      ""attendee_group_id"": ""E"",
      ""group_size"": 22.0
    }
  ],
  ""walking_distances"": [
    {
      ""station_id"": ""F1"",
      ""attendee_group_id"": ""A"",
      ""walking_distance_cost"": 1017.0
    },
    {
      ""station_id"": ""F1"",
      ""attendee_group_id"": ""B"",
      ""walking_distance_cost"": 1103.0
    },
    {
      ""station_id"": ""F1"",
      ""attendee_group_id"": ""C"",
      ""walking_distance_cost"": 754.0
    },
    {
      ""station_id"": ""F1"",
      ""attendee_group_id"": ""D"",
      ""walking_distance_cost"": 199.0
    },
    {
      ""station_id"": ""F1"",
      ""attendee_group_id"": ""E"",
      ""walking_distance_cost"": 299.0
    },
    {
      ""station_id"": ""F2"",
      ""attendee_group_id"": ""A"",
      ""walking_distance_cost"": 867.0
    },
    {
      ""station_id"": ""F2"",
      ""attendee_group_id"": ""B"",
      ""walking_distance_cost"": 360.0
    },
    {
      ""station_id"": ""F2"",
      ""attendee_group_id"": ""C"",
      ""walking_distance_cost"": 928.0
    },
    {
      ""station_id"": ""F2"",
      ""attendee_group_id"": ""D"",
      ""walking_distance_cost"": 491.0
    },
    {
      ""station_id"": ""F2"",
      ""attendee_group_id"": ""E"",
      ""walking_distance_cost"": 418.0
    }
  ]
}

If you want to submit a candidate solution, just stick to this little JSON shape so it's easy to parse β€” here’s the informal template I’ll expect:

{
  ""solution"": {
    ""selected"": [<station_to_open>, <station_to_open>, ...],
    ""assignments"": [<chosen_open_station>, <chosen_open_station>, ...]
  }
}

Pretty simple: ""selected"" is where you say which water stations you plan to set up, and ""assignments"" says, for each attendee in the input order, which opened station they should go to. This is just a sketch of the shape I need, not the actual answer.

Please make sure you use the exact identifiers from the instance input β€” do not rename them or invent new labels. Valid identifiers look like plain numbers such as ""1"" or ""23"", single capital letters like ""A"" or ""B"", or a capital letter followed by digits like ""A1"" or ""X7"".","{'opening_costs': [600.0, 600.0], 'capacities': [500.0, 500.0], 'connection_costs': [[1017.0, 1103.0, 754.0, 199.0, 299.0], [867.0, 360.0, 928.0, 491.0, 418.0]], 'demands': [23.0, 22.0, 18.0, 16.0, 22.0], 'objective': 3664.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1]}",3664.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 23.0}, {'id': 'B', 'demand': 22.0}, {'id': 'C', 'demand': 18.0}, {'id': 'D', 'demand': 16.0}, {'id': 'E', 'demand': 22.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 1017.0}, {'facility': 'F1', 'customer': 'B', 'cost': 1103.0}, {'facility': 'F1', 'customer': 'C', 'cost': 754.0}, {'facility': 'F1', 'customer': 'D', 'cost': 199.0}, {'facility': 'F1', 'customer': 'E', 'cost': 299.0}, {'facility': 'F2', 'customer': 'A', 'cost': 867.0}, {'facility': 'F2', 'customer': 'B', 'cost': 360.0}, {'facility': 'F2', 'customer': 'C', 'cost': 928.0}, {'facility': 'F2', 'customer': 'D', 'cost': 491.0}, {'facility': 'F2', 'customer': 'E', 'cost': 418.0}], 'objective': 3664.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2']}",22,json,names
CFLP,CFLP,"We’re juggling dorm space for the upcoming semester and have to choose which wings to bring online and where each student should live. The task is to open some wings (each has an opening price and a fixed number of beds) and then assign every student to a single opened wing without exceeding those beds. Better choices are the ones that minimize what we pay overall: add up all wing-opening expenses and the distance or hassle cost for every student move β€” that total is what we want as small as possible. Concrete details will be shown below.

There are 3 wings and 6 students in this instance.

**Wings**
| wing_id | wing_opening_cost | wing_bed_capacity |
|---|---|---|
| F1 | 600.0 | 700.0 |
| F2 | 600.0 | 700.0 |
| F3 | 600.0 | 700.0 |

**Students**
| student_id | student_bed_requirement |
|---|---|
| 1 | 24.0 |
| 2 | 12.0 |
| 3 | 24.0 |
| 4 | 17.0 |
| 5 | 17.0 |
| 6 | 19.0 |

**Relocation Distance Cost**
| wing_id | student_id | relocation_distance_cost |
|---|---|---|
| F1 | 1 | 508.0 |
| F1 | 2 | 714.0 |
| F1 | 3 | 1375.0 |
| F1 | 4 | 35.0 |
| F1 | 5 | 1146.0 |
| F1 | 6 | 623.0 |
| F2 | 1 | 173.0 |
| F2 | 2 | 24.0 |
| F2 | 3 | 709.0 |
| F2 | 4 | 176.0 |
| F2 | 5 | 459.0 |
| F2 | 6 | 164.0 |
| F3 | 1 | 555.0 |
| F3 | 2 | 924.0 |
| F3 | 3 | 1527.0 |
| F3 | 4 | 35.0 |
| F3 | 5 | 1332.0 |
| F3 | 6 | 711.0 |

One more small thing: when you send the solution back, please use this little JSON shape so I can read it automatically β€” just a list of the wings you open and a list that says, for each student in the input order, which opened wing they’ll live in.

{
  ""solution"": {
    ""selected"": [<wing_to_open>, <wing_to_open>, ...],
    ""assignments"": [<assigned_wing>, <assigned_wing>, ...]
  }
}

""selected"" is where you put the identifiers for the wings you decide to open. ""assignments"" lists, in the same order as the students showed up in the input, which opened wing each student gets assigned to. Super informal: think of ""selected"" as the checkboxes for which wings we flip on, and ""assignments"" like the roommate list showing everyone's wing.

This JSON is just a sketch of the shape I need β€” not the real answer itself. Please make sure to use the exact identifiers from the instance input (don’t rename them or invent new labels). Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [600.0, 600.0, 600.0], 'capacities': [700.0, 700.0, 700.0], 'connection_costs': [[508.0, 714.0, 1375.0, 35.0, 1146.0, 623.0], [173.0, 24.0, 709.0, 176.0, 459.0, 164.0], [555.0, 924.0, 1527.0, 35.0, 1332.0, 711.0]], 'demands': [24.0, 12.0, 24.0, 17.0, 17.0, 19.0], 'objective': 2305.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",2305.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 700.0}, {'id': 'F3', 'opening_cost': 600.0, 'capacity': 700.0}], 'customers': [{'id': 1, 'demand': 24.0}, {'id': 2, 'demand': 12.0}, {'id': 3, 'demand': 24.0}, {'id': 4, 'demand': 17.0}, {'id': 5, 'demand': 17.0}, {'id': 6, 'demand': 19.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 508.0}, {'facility': 'F1', 'customer': 2, 'cost': 714.0}, {'facility': 'F1', 'customer': 3, 'cost': 1375.0}, {'facility': 'F1', 'customer': 4, 'cost': 35.0}, {'facility': 'F1', 'customer': 5, 'cost': 1146.0}, {'facility': 'F1', 'customer': 6, 'cost': 623.0}, {'facility': 'F2', 'customer': 1, 'cost': 173.0}, {'facility': 'F2', 'customer': 2, 'cost': 24.0}, {'facility': 'F2', 'customer': 3, 'cost': 709.0}, {'facility': 'F2', 'customer': 4, 'cost': 176.0}, {'facility': 'F2', 'customer': 5, 'cost': 459.0}, {'facility': 'F2', 'customer': 6, 'cost': 164.0}, {'facility': 'F3', 'customer': 1, 'cost': 555.0}, {'facility': 'F3', 'customer': 2, 'cost': 924.0}, {'facility': 'F3', 'customer': 3, 'cost': 1527.0}, {'facility': 'F3', 'customer': 4, 'cost': 35.0}, {'facility': 'F3', 'customer': 5, 'cost': 1332.0}, {'facility': 'F3', 'customer': 6, 'cost': 711.0}], 'objective': 2305.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",23,markdown_table,1
CFLP,CFLP,"Recently the team had to map out which neighborhood lockers to activate and how to route customers: activating a locker incurs a fixed charge, each locker has a parcel limit, and customers can’t have their parcels split across multiple lockers β€” each customer goes to one active locker only. To pick the best setup, add up all activation charges for the lockers opened and all customer travel costs to their assigned lockers; the setup with the smallest total cost is preferable. The detailed list of lockers, capacities, costs and customers appears below.

{
  ""num_lockers"": 2,
  ""num_customers"": 5,
  ""lockers"": [
    {
      ""locker_id"": ""F1"",
      ""activation_cost"": 400.0,
      ""parcel_capacity"": 300.0
    },
    {
      ""locker_id"": ""F2"",
      ""activation_cost"": 400.0,
      ""parcel_capacity"": 300.0
    }
  ],
  ""customers"": [
    {
      ""customer_id"": 0,
      ""parcels_needed"": 14.0
    },
    {
      ""customer_id"": 1,
      ""parcels_needed"": 12.0
    },
    {
      ""customer_id"": 2,
      ""parcels_needed"": 23.0
    },
    {
      ""customer_id"": 3,
      ""parcels_needed"": 19.0
    },
    {
      ""customer_id"": 4,
      ""parcels_needed"": 18.0
    }
  ],
  ""travels"": [
    {
      ""locker_id"": ""F1"",
      ""customer_id"": 0,
      ""travel_cost"": 89.0
    },
    {
      ""locker_id"": ""F1"",
      ""customer_id"": 1,
      ""travel_cost"": 27.0
    },
    {
      ""locker_id"": ""F1"",
      ""customer_id"": 2,
      ""travel_cost"": 595.0
    },
    {
      ""locker_id"": ""F1"",
      ""customer_id"": 3,
      ""travel_cost"": 1216.0
    },
    {
      ""locker_id"": ""F1"",
      ""customer_id"": 4,
      ""travel_cost"": 1070.0
    },
    {
      ""locker_id"": ""F2"",
      ""customer_id"": 0,
      ""travel_cost"": 1024.0
    },
    {
      ""locker_id"": ""F2"",
      ""customer_id"": 1,
      ""travel_cost"": 840.0
    },
    {
      ""locker_id"": ""F2"",
      ""customer_id"": 2,
      ""travel_cost"": 1120.0
    },
    {
      ""locker_id"": ""F2"",
      ""customer_id"": 3,
      ""travel_cost"": 2210.0
    },
    {
      ""locker_id"": ""F2"",
      ""customer_id"": 4,
      ""travel_cost"": 2217.0
    }
  ]
}

If you could, please return the final choice in this simple JSON shape so it's easy to parse β€” nothing fancy, just the two bits we need.

{
  ""solution"": {
    ""selected"": [<locker_to_open>, <locker_to_open>, ...],
    ""assignments"": [<chosen_open_locker>, <chosen_open_locker>, ...]
  }
}

""selected"" is the list of neighborhood lockers you activate (the ones you pay the fixed charge for). ""assignments"" is a customer-by-customer list (in the same order as the customers in the instance) saying which opened locker each customer will use. This is just the skeleton of the answer β€” fill in the actual identifiers from the instance when you submit the solution.

Please make sure to use the exact identifiers from the instance input β€” do not rename or invent labels. Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [400.0, 400.0], 'capacities': [300.0, 300.0], 'connection_costs': [[89.0, 27.0, 595.0, 1216.0, 1070.0], [1024.0, 840.0, 1120.0, 2210.0, 2217.0]], 'demands': [14.0, 12.0, 23.0, 19.0, 18.0], 'objective': 3397.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",3397.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 300.0}], 'customers': [{'id': 0, 'demand': 14.0}, {'id': 1, 'demand': 12.0}, {'id': 2, 'demand': 23.0}, {'id': 3, 'demand': 19.0}, {'id': 4, 'demand': 18.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 89.0}, {'facility': 'F1', 'customer': 1, 'cost': 27.0}, {'facility': 'F1', 'customer': 2, 'cost': 595.0}, {'facility': 'F1', 'customer': 3, 'cost': 1216.0}, {'facility': 'F1', 'customer': 4, 'cost': 1070.0}, {'facility': 'F2', 'customer': 0, 'cost': 1024.0}, {'facility': 'F2', 'customer': 1, 'cost': 840.0}, {'facility': 'F2', 'customer': 2, 'cost': 1120.0}, {'facility': 'F2', 'customer': 3, 'cost': 2210.0}, {'facility': 'F2', 'customer': 4, 'cost': 2217.0}], 'objective': 3397.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",24,json,0
CFLP,CFLP,"We’re coordinating post-disaster sheltering and have to decide which temporary shelters to stand up and which families go where, making sure no household gets split and no shelter has more people than it can handle. Each potential shelter has a price to get it running and a limit on how many people it can take, and every family must be assigned to one of the shelters we open. The goal is to keep the overall expense as low as possible β€” just tally the opening costs for the shelters we choose plus the transport cost for each family’s move, and aim for the lowest total. The specific numbers and options are listed below.

There are 3 shelters and 6 familys in this instance.

**Shelters**
| shelter_id | shelter_setup_cost | shelter_capacity_people |
|---|---|---|
| F1 | 400.0 | 1500.0 |
| F2 | 400.0 | 1500.0 |
| F3 | 400.0 | 1500.0 |

**Familys**
| family_id | household_size |
|---|---|
| 1 | 40.0 |
| 2 | 17.0 |
| 3 | 27.0 |
| 4 | 47.0 |
| 5 | 17.0 |
| 6 | 31.0 |

**Transport Cost**
| shelter_id | family_id | transport_cost |
|---|---|---|
| F1 | 1 | 373.0 |
| F1 | 2 | 332.0 |
| F1 | 3 | 538.0 |
| F1 | 4 | 495.0 |
| F1 | 5 | 99.0 |
| F1 | 6 | 289.0 |
| F2 | 1 | 354.0 |
| F2 | 2 | 309.0 |
| F2 | 3 | 330.0 |
| F2 | 4 | 279.0 |
| F2 | 5 | 360.0 |
| F2 | 6 | 184.0 |
| F3 | 1 | 549.0 |
| F3 | 2 | 506.0 |
| F3 | 3 | 658.0 |
| F3 | 4 | 609.0 |
| F3 | 5 | 181.0 |
| F3 | 6 | 437.0 |

Also, when you send back your choice, please follow this simple JSON layout so it's easy to read and check:

{
  ""solution"": {
    ""selected"": [<shelter_to_open>, <shelter_to_open>, ...],
    ""assignments"": [<chosen_shelter>, <chosen_shelter>, ...]
  }
}

This just means: ""selected"" is the list of shelters we decide to open, and ""assignments"" is a list (in the same order as the families in the input) saying which opened shelter each family goes to. Think of it like filling out a quick form β€” which sites are active, and which site each family is sent to. The JSON above is only a sketch of the shape I need, not the actual solution.

Please make sure you use the exact identifiers from the instance input β€” do not rename them or invent new labels. To be clear: Valid identifiers look like plain numbers such as ""1"" or ""23"", single capital letters like ""A"" or ""B"", or a capital letter followed by digits like ""A1"" or ""X7"".","{'opening_costs': [400.0, 400.0, 400.0], 'capacities': [1500.0, 1500.0, 1500.0], 'connection_costs': [[373.0, 332.0, 538.0, 495.0, 99.0, 289.0], [354.0, 309.0, 330.0, 279.0, 360.0, 184.0], [549.0, 506.0, 658.0, 609.0, 181.0, 437.0]], 'demands': [40.0, 17.0, 27.0, 47.0, 17.0, 31.0], 'objective': 2216.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",2216.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 1500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 1500.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 1500.0}], 'customers': [{'id': 1, 'demand': 40.0}, {'id': 2, 'demand': 17.0}, {'id': 3, 'demand': 27.0}, {'id': 4, 'demand': 47.0}, {'id': 5, 'demand': 17.0}, {'id': 6, 'demand': 31.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 373.0}, {'facility': 'F1', 'customer': 2, 'cost': 332.0}, {'facility': 'F1', 'customer': 3, 'cost': 538.0}, {'facility': 'F1', 'customer': 4, 'cost': 495.0}, {'facility': 'F1', 'customer': 5, 'cost': 99.0}, {'facility': 'F1', 'customer': 6, 'cost': 289.0}, {'facility': 'F2', 'customer': 1, 'cost': 354.0}, {'facility': 'F2', 'customer': 2, 'cost': 309.0}, {'facility': 'F2', 'customer': 3, 'cost': 330.0}, {'facility': 'F2', 'customer': 4, 'cost': 279.0}, {'facility': 'F2', 'customer': 5, 'cost': 360.0}, {'facility': 'F2', 'customer': 6, 'cost': 184.0}, {'facility': 'F3', 'customer': 1, 'cost': 549.0}, {'facility': 'F3', 'customer': 2, 'cost': 506.0}, {'facility': 'F3', 'customer': 3, 'cost': 658.0}, {'facility': 'F3', 'customer': 4, 'cost': 609.0}, {'facility': 'F3', 'customer': 5, 'cost': 181.0}, {'facility': 'F3', 'customer': 6, 'cost': 437.0}], 'objective': 2216.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",25,markdown_table,1
CFLP,CFLP,"Many operators face the same trade-off: turn on enough edge servers to serve everyone but not so many that setup costs blow up, and assign each device to a single server so no traffic is split and every server stays within its capacity. To pick the best arrangement, total up the cost of provisioning the chosen servers and the latency cost for each device’s connection; the arrangement with the lowest total is preferred. The full set of numbers and choices is shown below.

There are 2 edge servers and 6 devices in this instance.

**Edge Servers**
| edge_server_id | provisioning_cost | server_capacity |
|---|---|---|
| F1 | 400.0 | 500.0 |
| F2 | 400.0 | 500.0 |

**Devices**
| device_id | device_demand |
|---|---|
| 1 | 44.0 |
| 2 | 50.0 |
| 3 | 32.0 |
| 4 | 38.0 |
| 5 | 27.0 |
| 6 | 23.0 |

**Latency Cost**
| edge_server_id | device_id | latency_cost |
|---|---|---|
| F1 | 1 | 243.0 |
| F1 | 2 | 433.0 |
| F1 | 3 | 195.0 |
| F1 | 4 | 210.0 |
| F1 | 5 | 270.0 |
| F1 | 6 | 238.0 |
| F2 | 1 | 463.0 |
| F2 | 2 | 206.0 |
| F2 | 3 | 346.0 |
| F2 | 4 | 202.0 |
| F2 | 5 | 317.0 |
| F2 | 6 | 143.0 |

If you want to send the answer back, just use this little JSON shape β€” nothing fancy, just a compact form I can read easily.

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
  }
}

Think of ""selected"" as the list of servers you're switching on, and ""assignments"" as, in order, which server each device talks to. Super simple: one server per device, and the arrays should line up with the instance ordering.

This is just a sketch of the shape I need β€” not the actual answer yet. Please make sure to use the exact identifiers from the instance input, with no renaming and no new labels. 
- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [400.0, 400.0], 'capacities': [500.0, 500.0], 'connection_costs': [[243.0, 433.0, 195.0, 210.0, 270.0, 238.0], [463.0, 206.0, 346.0, 202.0, 317.0, 143.0]], 'demands': [44.0, 50.0, 32.0, 38.0, 27.0, 23.0], 'objective': 1989.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0, 0]}",1989.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 500.0}], 'customers': [{'id': 1, 'demand': 44.0}, {'id': 2, 'demand': 50.0}, {'id': 3, 'demand': 32.0}, {'id': 4, 'demand': 38.0}, {'id': 5, 'demand': 27.0}, {'id': 6, 'demand': 23.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 243.0}, {'facility': 'F1', 'customer': 2, 'cost': 433.0}, {'facility': 'F1', 'customer': 3, 'cost': 195.0}, {'facility': 'F1', 'customer': 4, 'cost': 210.0}, {'facility': 'F1', 'customer': 5, 'cost': 270.0}, {'facility': 'F1', 'customer': 6, 'cost': 238.0}, {'facility': 'F2', 'customer': 1, 'cost': 463.0}, {'facility': 'F2', 'customer': 2, 'cost': 206.0}, {'facility': 'F2', 'customer': 3, 'cost': 346.0}, {'facility': 'F2', 'customer': 4, 'cost': 202.0}, {'facility': 'F2', 'customer': 5, 'cost': 317.0}, {'facility': 'F2', 'customer': 6, 'cost': 143.0}], 'objective': 1989.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1', 'F1']}",26,markdown_table,1
CFLP,CFLP,"There’s a weekend market coming and someone has to choose which vendor stalls to rent and which sellers go into which rented stalls. Each stall has a rental fee and a maximum amount of space, while each seller needs a fixed amount of space and will incur a setup/travel cost to use a particular stall. Sellers can’t be split between stalls and every seller must have exactly one assigned stall; also a stall can’t hold more seller space than it allows. The goal is straightforward: pick stalls and assignments that keep the total bill β€” stall rentals plus sellers’ setup/travel costs β€” as small as possible. The concrete details follow below.

# num_stalls=4
# num_sellers=8
# STALLS
stall_id,stall_rental_fee,stall_space_limit
F1,400.0,800.0
F2,400.0,800.0
F3,400.0,800.0
F4,400.0,800.0
# SELLERS
seller_id,seller_space_requirement
0,44.0
1,43.0
2,26.0
3,31.0
4,42.0
5,45.0
6,24.0
7,36.0
# SETUP_TRAVELS
stall_id,seller_id,setup_travel_cost
F1,0,638.0
F1,1,177.0
F1,2,6.0
F1,3,694.0
F1,4,452.0
F1,5,312.0
F1,6,527.0
F1,7,354.0
F2,0,555.0
F2,1,344.0
F2,2,487.0
F2,3,267.0
F2,4,133.0
F2,5,443.0
F2,6,100.0
F2,7,681.0
F3,0,486.0
F3,1,17.0
F3,2,192.0
F3,3,509.0
F3,4,336.0
F3,5,363.0
F3,6,392.0
F3,7,374.0
F4,0,825.0
F4,1,349.0
F4,2,284.0
F4,3,705.0
F4,4,336.0
F4,5,24.0
F4,6,424.0
F4,7,641.0

Also, when you send back your answer, just use this simple JSON shape so I can read it easily β€” nothing more, nothing less.

{
  ""solution"": {
    ""selected"": [<stall_to_rent>, <stall_to_rent>, ...],
    ""assignments"": [<chosen_rented_stall>, <chosen_rented_stall>, ...]
  }
}

""selected"" is where you list the stalls you'll rent. ""assignments"" lists, in the same order as the sellers show up in the instance, which rented stall each seller goes into. Super casual: think of ""selected"" as the list of booths on the lease, and ""assignments"" as the name-tag telling each seller which booth to set up at.

This JSON is just a sketch of the shape I expect, not the actual solution itself.

Please make sure to use the exact identifiers from the instance input β€” do not rename them or invent new ones. Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [400.0, 400.0, 400.0, 400.0], 'capacities': [800.0, 800.0, 800.0, 800.0], 'connection_costs': [[638.0, 177.0, 6.0, 694.0, 452.0, 312.0, 527.0, 354.0], [555.0, 344.0, 487.0, 267.0, 133.0, 443.0, 100.0, 681.0], [486.0, 17.0, 192.0, 509.0, 336.0, 363.0, 392.0, 374.0], [825.0, 349.0, 284.0, 705.0, 336.0, 24.0, 424.0, 641.0]], 'demands': [44.0, 43.0, 26.0, 31.0, 42.0, 45.0, 24.0, 36.0], 'objective': 2704.0}","{'open_facilities': [0, 1], 'assignments': [1, 0, 0, 1, 1, 0, 1, 0]}",2704.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 8, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 800.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 800.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 800.0}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 800.0}], 'customers': [{'id': 0, 'demand': 44.0}, {'id': 1, 'demand': 43.0}, {'id': 2, 'demand': 26.0}, {'id': 3, 'demand': 31.0}, {'id': 4, 'demand': 42.0}, {'id': 5, 'demand': 45.0}, {'id': 6, 'demand': 24.0}, {'id': 7, 'demand': 36.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 638.0}, {'facility': 'F1', 'customer': 1, 'cost': 177.0}, {'facility': 'F1', 'customer': 2, 'cost': 6.0}, {'facility': 'F1', 'customer': 3, 'cost': 694.0}, {'facility': 'F1', 'customer': 4, 'cost': 452.0}, {'facility': 'F1', 'customer': 5, 'cost': 312.0}, {'facility': 'F1', 'customer': 6, 'cost': 527.0}, {'facility': 'F1', 'customer': 7, 'cost': 354.0}, {'facility': 'F2', 'customer': 0, 'cost': 555.0}, {'facility': 'F2', 'customer': 1, 'cost': 344.0}, {'facility': 'F2', 'customer': 2, 'cost': 487.0}, {'facility': 'F2', 'customer': 3, 'cost': 267.0}, {'facility': 'F2', 'customer': 4, 'cost': 133.0}, {'facility': 'F2', 'customer': 5, 'cost': 443.0}, {'facility': 'F2', 'customer': 6, 'cost': 100.0}, {'facility': 'F2', 'customer': 7, 'cost': 681.0}, {'facility': 'F3', 'customer': 0, 'cost': 486.0}, {'facility': 'F3', 'customer': 1, 'cost': 17.0}, {'facility': 'F3', 'customer': 2, 'cost': 192.0}, {'facility': 'F3', 'customer': 3, 'cost': 509.0}, {'facility': 'F3', 'customer': 4, 'cost': 336.0}, {'facility': 'F3', 'customer': 5, 'cost': 363.0}, {'facility': 'F3', 'customer': 6, 'cost': 392.0}, {'facility': 'F3', 'customer': 7, 'cost': 374.0}, {'facility': 'F4', 'customer': 0, 'cost': 825.0}, {'facility': 'F4', 'customer': 1, 'cost': 349.0}, {'facility': 'F4', 'customer': 2, 'cost': 284.0}, {'facility': 'F4', 'customer': 3, 'cost': 705.0}, {'facility': 'F4', 'customer': 4, 'cost': 336.0}, {'facility': 'F4', 'customer': 5, 'cost': 24.0}, {'facility': 'F4', 'customer': 6, 'cost': 424.0}, {'facility': 'F4', 'customer': 7, 'cost': 641.0}], 'objective': 2704.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F1', 'F1', 'F2', 'F2', 'F1', 'F2', 'F1']}",27,csv,0
CFLP,CFLP,"I run the campus dining operation and have to pick which satellite kitchens to keep cooking and which to close, then decide which whole student groups each open kitchen will feed. No group gets split up, and no kitchen is asked to handle more students than it can actually serve. A good plan is the one that keeps the overall bill low β€” that bill being the sum of the kitchens’ running costs plus whatever it costs to get food from a kitchen to a group β€” and the specific kitchen sizes, opening costs, and group demands are shown below.

# num_kitchens=2
# num_student_groups=5
# KITCHENS
kitchen_id,kitchen_operating_cost,kitchen_capacity_students
F1,534.0,427.0
F2,573.0,434.0
# STUDENT_GROUPS
student_group_id,group_size
A,17.0
B,17.0
C,27.0
D,16.0
E,23.0
# DISTRIBUTIONS
kitchen_id,student_group_id,distribution_cost
F1,A,183.0
F1,B,80.0
F1,C,482.0
F1,D,437.0
F1,E,86.0
F2,A,906.0
F2,B,295.0
F2,C,732.0
F2,D,1360.0
F2,E,703.0

Oh, and when you reply with a plan, please follow this little JSON layout so I can read it easily β€” nothing fancy, just a consistent shape. Here's the sketch I like:

{
  ""solution"": {
    ""selected"": [<kitchen_to_open>, <kitchen_to_open>, ...],
    ""assignments"": [<chosen_open_kitchen>, <chosen_open_kitchen>, ...]
  }
}

""selected"" is where you list which kitchens you decide to keep running (use the exact kitchen IDs from the instance). ""assignments"" is a list that, in order, says which open kitchen feeds each student group (again, use the exact IDs). This is just the expected shape β€” a sketch, not the final plan.

Please make sure you use the identifiers exactly as they appear in the instance input β€” no renaming and no new labels. Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [534.0, 573.0], 'capacities': [427.0, 434.0], 'connection_costs': [[183.0, 80.0, 482.0, 437.0, 86.0], [906.0, 295.0, 732.0, 1360.0, 703.0]], 'demands': [17.0, 17.0, 27.0, 16.0, 23.0], 'objective': 1802.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",1802.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 534.0, 'capacity': 427.0}, {'id': 'F2', 'opening_cost': 573.0, 'capacity': 434.0}], 'customers': [{'id': 'A', 'demand': 17.0}, {'id': 'B', 'demand': 17.0}, {'id': 'C', 'demand': 27.0}, {'id': 'D', 'demand': 16.0}, {'id': 'E', 'demand': 23.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 183.0}, {'facility': 'F1', 'customer': 'B', 'cost': 80.0}, {'facility': 'F1', 'customer': 'C', 'cost': 482.0}, {'facility': 'F1', 'customer': 'D', 'cost': 437.0}, {'facility': 'F1', 'customer': 'E', 'cost': 86.0}, {'facility': 'F2', 'customer': 'A', 'cost': 906.0}, {'facility': 'F2', 'customer': 'B', 'cost': 295.0}, {'facility': 'F2', 'customer': 'C', 'cost': 732.0}, {'facility': 'F2', 'customer': 'D', 'cost': 1360.0}, {'facility': 'F2', 'customer': 'E', 'cost': 703.0}], 'objective': 1802.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",28,csv,names
CFLP,CFLP,"We manage a cluster of possible driver stations and have to choose which ones to bring people in to staff, then send each rider to exactly one staffed station for pickup. Staffing a station costs money and each station can only cover so many riders, while every rider assigned to a station creates an extra pickup detour cost. A good plan keeps the overall expense as small as possible β€” sum up the staffing charges for the stations opened and the detour costs for all rider pickups β€” while making sure every rider is tied to a single staffed station and no station exceeds its driver limit. The specific numbers and scenarios follow below.

There are 2 hubs and 5 riders in this instance.

**Hubs**
| hub_id | staffing_cost | driver_capacity |
|---|---|---|
| F1 | 400.0 | 300.0 |
| F2 | 400.0 | 300.0 |

**Riders**
| rider_id | rider_demand |
|---|---|
| 0 | 24.0 |
| 1 | 23.0 |
| 2 | 20.0 |
| 3 | 10.0 |
| 4 | 16.0 |

**Pickup Detour Cost**
| hub_id | rider_id | pickup_detour_cost |
|---|---|---|
| F1 | 0 | 102.0 |
| F1 | 1 | 540.0 |
| F1 | 2 | 45.0 |
| F1 | 3 | 96.0 |
| F1 | 4 | 437.0 |
| F2 | 0 | 216.0 |
| F2 | 1 | 896.0 |
| F2 | 2 | 423.0 |
| F2 | 3 | 234.0 |
| F2 | 4 | 2002.0 |

Oh, and one more practical thing β€” when you send back your plan, please put it in a little JSON package so it's easy to read by humans or tools. Something casual like this shape will do:

{
  ""solution"": {
    ""selected"": [""<station_to_staff>"", ""<station_to_staff>"", ...],
    ""assignments"": [""<staffed_station_for_rider>"", ""<staffed_station_for_rider>"", ...]
  }
}

Think of ""selected"" as the list of stations you're deciding to staff, and ""assignments"" as which staffed station each rider gets sent to (one entry per rider). This is just the shape we want β€” a sketch, not the final numbers.

Please remember: use the exact identifiers from the instance input when you fill those placeholders β€” don't rename them or invent new labels. 
- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [400.0, 400.0], 'capacities': [300.0, 300.0], 'connection_costs': [[102.0, 540.0, 45.0, 96.0, 437.0], [216.0, 896.0, 423.0, 234.0, 2002.0]], 'demands': [24.0, 23.0, 20.0, 10.0, 16.0], 'objective': 1620.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",1620.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 300.0}], 'customers': [{'id': 0, 'demand': 24.0}, {'id': 1, 'demand': 23.0}, {'id': 2, 'demand': 20.0}, {'id': 3, 'demand': 10.0}, {'id': 4, 'demand': 16.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 102.0}, {'facility': 'F1', 'customer': 1, 'cost': 540.0}, {'facility': 'F1', 'customer': 2, 'cost': 45.0}, {'facility': 'F1', 'customer': 3, 'cost': 96.0}, {'facility': 'F1', 'customer': 4, 'cost': 437.0}, {'facility': 'F2', 'customer': 0, 'cost': 216.0}, {'facility': 'F2', 'customer': 1, 'cost': 896.0}, {'facility': 'F2', 'customer': 2, 'cost': 423.0}, {'facility': 'F2', 'customer': 3, 'cost': 234.0}, {'facility': 'F2', 'customer': 4, 'cost': 2002.0}], 'objective': 1620.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",29,markdown_table,0
CFLP,CFLP,"There’s a neighborhood project where a few bookmobile stops can be set up, but not all of them at once. The team needs to decide which stops to operate, send each reader to exactly one of the active stops (no splitting visits), and watch that no stop handles more visitors or checkouts than it can manage. Better choices are the ones that keep total spending down β€” add the cost to run the chosen stops and the travel time for every reader, and aim for the smallest total. The concrete details about stops, costs, and reader counts appear below.

{
  ""num_candidate_stops"": 2,
  ""num_reader_groups"": 5,
  ""stops"": [
    {
      ""stop_id"": ""F1"",
      ""stop_operation_cost"": 547.0,
      ""circulation_capacity"": 500.0
    },
    {
      ""stop_id"": ""F2"",
      ""stop_operation_cost"": 291.0,
      ""circulation_capacity"": 500.0
    }
  ],
  ""reader_groups"": [
    {
      ""reader_group_id"": 0,
      ""visitor_count"": 26.0
    },
    {
      ""reader_group_id"": 1,
      ""visitor_count"": 18.0
    },
    {
      ""reader_group_id"": 2,
      ""visitor_count"": 12.0
    },
    {
      ""reader_group_id"": 3,
      ""visitor_count"": 23.0
    },
    {
      ""reader_group_id"": 4,
      ""visitor_count"": 19.0
    }
  ],
  ""travel_times"": [
    {
      ""stop_id"": ""F1"",
      ""reader_group_id"": 0,
      ""travel_time"": 804.0
    },
    {
      ""stop_id"": ""F1"",
      ""reader_group_id"": 1,
      ""travel_time"": 1533.0
    },
    {
      ""stop_id"": ""F1"",
      ""reader_group_id"": 2,
      ""travel_time"": 567.0
    },
    {
      ""stop_id"": ""F1"",
      ""reader_group_id"": 3,
      ""travel_time"": 696.0
    },
    {
      ""stop_id"": ""F1"",
      ""reader_group_id"": 4,
      ""travel_time"": 623.0
    },
    {
      ""stop_id"": ""F2"",
      ""reader_group_id"": 0,
      ""travel_time"": 422.0
    },
    {
      ""stop_id"": ""F2"",
      ""reader_group_id"": 1,
      ""travel_time"": 1976.0
    },
    {
      ""stop_id"": ""F2"",
      ""reader_group_id"": 2,
      ""travel_time"": 1230.0
    },
    {
      ""stop_id"": ""F2"",
      ""reader_group_id"": 3,
      ""travel_time"": 812.0
    },
    {
      ""stop_id"": ""F2"",
      ""reader_group_id"": 4,
      ""travel_time"": 181.0
    }
  ]
}

Oh, and just so we're on the same page, please send the solution in this simple JSON layout (just a little form I like to use):

{
  ""solution"": {
    ""selected"": [<stop_to_open>, <stop_to_open>, ...],
    ""assignments"": [<assigned_open_stop>, <assigned_open_stop>, ...]
  }
}

This little sketch means: ""selected"" lists the stops you'll run, and ""assignments"" gives, for each reader in the same order as the input, which open stop they should go to. It's just the shape I need β€” not the final numbers or choices.

Please remember to use the exact identifiers from the instance input β€” do not rename them or invent new labels. Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [547.0, 291.0], 'capacities': [500.0, 500.0], 'connection_costs': [[804.0, 1533.0, 567.0, 696.0, 623.0], [422.0, 1976.0, 1230.0, 812.0, 181.0]], 'demands': [26.0, 18.0, 12.0, 23.0, 19.0], 'objective': 4237.0}","{'open_facilities': [0, 1], 'assignments': [1, 0, 0, 0, 1]}",4237.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 547.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 291.0, 'capacity': 500.0}], 'customers': [{'id': 0, 'demand': 26.0}, {'id': 1, 'demand': 18.0}, {'id': 2, 'demand': 12.0}, {'id': 3, 'demand': 23.0}, {'id': 4, 'demand': 19.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 804.0}, {'facility': 'F1', 'customer': 1, 'cost': 1533.0}, {'facility': 'F1', 'customer': 2, 'cost': 567.0}, {'facility': 'F1', 'customer': 3, 'cost': 696.0}, {'facility': 'F1', 'customer': 4, 'cost': 623.0}, {'facility': 'F2', 'customer': 0, 'cost': 422.0}, {'facility': 'F2', 'customer': 1, 'cost': 1976.0}, {'facility': 'F2', 'customer': 2, 'cost': 1230.0}, {'facility': 'F2', 'customer': 3, 'cost': 812.0}, {'facility': 'F2', 'customer': 4, 'cost': 181.0}], 'objective': 4237.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F1', 'F1', 'F1', 'F2']}",30,json,0
CFLP,CFLP,"Someone running a local cloud-kitchen brand needs to decide which ghost kitchens to pay to activate and which active kitchen will handle each incoming order. Orders can’t be split across kitchens β€” each goes to one kitchen β€” and no kitchen should be overloaded beyond its capacity. What makes one setup preferable is simple money math: the total bill is the sum of every kitchen’s activation fee that’s paid plus the fulfillment cost for every order, and the goal is to keep that total as small as possible. The detailed instance β€” kitchens, costs, capacities and orders β€” follows below.

# num_ghost_kitchens=2
# num_orders=6
# KITCHENS
kitchen_id,activation_fee,kitchen_capacity
F1,295.0,500.0
F2,201.0,500.0
# ORDERS
order_id,order_size
A,14.0
B,15.0
C,27.0
D,10.0
E,23.0
F,27.0
# FULFILLMENTS
kitchen_id,order_id,fulfillment_cost
F1,A,1030.0
F1,B,1977.0
F1,C,1854.0
F1,D,1760.0
F1,E,2054.0
F1,F,1738.0
F2,A,300.0
F2,B,340.0
F2,C,56.0
F2,D,475.0
F2,E,228.0
F2,F,79.0

Also, to keep things machine-friendly, please return the result in this simple JSON shape so I can pick out which kitchens you turned on and which kitchen handles each order:

{
  ""solution"": {
    ""selected"": [<kitchen_to_open>, <kitchen_to_open>, ...],
    ""assignments"": [<assigned_kitchen>, <assigned_kitchen>, ...]
  }
}

The idea is straightforward: ""selected"" is the list of ghost kitchens you decide to activate, and ""assignments"" is a list (in the same order as the orders in the instance) naming which active kitchen handles each order. Think of it like a short form: which kitchens are paid for, and who cooks each order.

This JSON is just a sketch of the expected shape β€” not the final plan. One important rule: use the exact identifiers from the instance input when you fill this in β€” do not rename them or invent new labels. Valid identifiers look like plain numbers such as ""1"" or ""23"", single capital letters like ""A"" or ""B"", or a capital letter followed by digits like ""A1"" or ""X7"".","{'opening_costs': [295.0, 201.0], 'capacities': [500.0, 500.0], 'connection_costs': [[1030.0, 1977.0, 1854.0, 1760.0, 2054.0, 1738.0], [300.0, 340.0, 56.0, 475.0, 228.0, 79.0]], 'demands': [14.0, 15.0, 27.0, 10.0, 23.0, 27.0], 'objective': 1679.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",1679.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 295.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 201.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 14.0}, {'id': 'B', 'demand': 15.0}, {'id': 'C', 'demand': 27.0}, {'id': 'D', 'demand': 10.0}, {'id': 'E', 'demand': 23.0}, {'id': 'F', 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 1030.0}, {'facility': 'F1', 'customer': 'B', 'cost': 1977.0}, {'facility': 'F1', 'customer': 'C', 'cost': 1854.0}, {'facility': 'F1', 'customer': 'D', 'cost': 1760.0}, {'facility': 'F1', 'customer': 'E', 'cost': 2054.0}, {'facility': 'F1', 'customer': 'F', 'cost': 1738.0}, {'facility': 'F2', 'customer': 'A', 'cost': 300.0}, {'facility': 'F2', 'customer': 'B', 'cost': 340.0}, {'facility': 'F2', 'customer': 'C', 'cost': 56.0}, {'facility': 'F2', 'customer': 'D', 'cost': 475.0}, {'facility': 'F2', 'customer': 'E', 'cost': 228.0}, {'facility': 'F2', 'customer': 'F', 'cost': 79.0}], 'objective': 1679.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",31,csv,names
CFLP,CFLP,"Someone has to map out which recycling points should be up and running and which households will use each one. Every household must be assigned to one open point only, and each point has a maximum intake it can’t exceed. The β€œbetter” solution is the one with the lowest total cost: tally the costs to open the selected points plus all residents’ hauling effort to their assigned spots, and choose the assignment with the smallest total. The exact data and choices are shown below.

# num_collection_points=3
# num_households=7
# COLLECTION_POINTS
collection_point_id,point_opening_cost,point_intake_capacity
F1,400.0,500.0
F2,400.0,500.0
F3,400.0,500.0
# HOUSEHOLDS
household_id,household_recycling_amount
A,12.0
B,18.0
C,19.0
D,18.0
E,18.0
F,19.0
G,14.0
# HAULINGS
collection_point_id,household_id,hauling_cost
F1,A,626.0
F1,B,607.0
F1,C,53.0
F1,D,1525.0
F1,E,1864.0
F1,F,105.0
F1,G,695.0
F2,A,517.0
F2,B,499.0
F2,C,40.0
F2,D,1421.0
F2,E,1792.0
F2,F,44.0
F2,G,587.0
F3,A,138.0
F3,B,273.0
F3,C,96.0
F3,D,936.0
F3,E,1550.0
F3,F,302.0
F3,G,98.0

When you send your solution, please follow this simple JSON layout so I can read it easily:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
  }
}

""selected"" is where you list the recycling points you want to open. ""assignments"" is a list that, for each household in the instance (in the same order as the input), says which open point that household will use. Think of it like filling out a short form: which sites are active, and then which active site each household goes to.

This JSON is just a sketch of the shape I expect, not the actual answer β€” replace the placeholders with the real identifiers from the instance.

Please make sure all identifiers are used exactly as they appear in the instance input β€” no renaming and no new labels. 
- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [400.0, 400.0, 400.0], 'capacities': [500.0, 500.0, 500.0], 'connection_costs': [[626.0, 607.0, 53.0, 1525.0, 1864.0, 105.0, 695.0], [517.0, 499.0, 40.0, 1421.0, 1792.0, 44.0, 587.0], [138.0, 273.0, 96.0, 936.0, 1550.0, 302.0, 98.0]], 'demands': [12.0, 18.0, 19.0, 18.0, 18.0, 19.0, 14.0], 'objective': 3793.0}","{'open_facilities': [2], 'assignments': [2, 2, 2, 2, 2, 2, 2]}",3793.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 12.0}, {'id': 'B', 'demand': 18.0}, {'id': 'C', 'demand': 19.0}, {'id': 'D', 'demand': 18.0}, {'id': 'E', 'demand': 18.0}, {'id': 'F', 'demand': 19.0}, {'id': 'G', 'demand': 14.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 626.0}, {'facility': 'F1', 'customer': 'B', 'cost': 607.0}, {'facility': 'F1', 'customer': 'C', 'cost': 53.0}, {'facility': 'F1', 'customer': 'D', 'cost': 1525.0}, {'facility': 'F1', 'customer': 'E', 'cost': 1864.0}, {'facility': 'F1', 'customer': 'F', 'cost': 105.0}, {'facility': 'F1', 'customer': 'G', 'cost': 695.0}, {'facility': 'F2', 'customer': 'A', 'cost': 517.0}, {'facility': 'F2', 'customer': 'B', 'cost': 499.0}, {'facility': 'F2', 'customer': 'C', 'cost': 40.0}, {'facility': 'F2', 'customer': 'D', 'cost': 1421.0}, {'facility': 'F2', 'customer': 'E', 'cost': 1792.0}, {'facility': 'F2', 'customer': 'F', 'cost': 44.0}, {'facility': 'F2', 'customer': 'G', 'cost': 587.0}, {'facility': 'F3', 'customer': 'A', 'cost': 138.0}, {'facility': 'F3', 'customer': 'B', 'cost': 273.0}, {'facility': 'F3', 'customer': 'C', 'cost': 96.0}, {'facility': 'F3', 'customer': 'D', 'cost': 936.0}, {'facility': 'F3', 'customer': 'E', 'cost': 1550.0}, {'facility': 'F3', 'customer': 'F', 'cost': 302.0}, {'facility': 'F3', 'customer': 'G', 'cost': 98.0}], 'objective': 3793.0}","{'selected': ['F3'], 'assignments': ['F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3']}",32,csv,names
CFLP,CFLP,"We’ve got a list of possible charging locations around town and a fleet of electric vehicles that need to be sent to stations for service. The decision is which of those locations to open (each one costs money to commission) and which station each vehicle should visit; every vehicle must go to one open station only, and every station can only take so many vehicles. A good choice is the one that keeps the overall expense down β€” tally the commissioning fees for the opened stations plus all the extra driving each vehicle does, and make that total as small as possible. Full specifics about sites, their limits, and the cost numbers appear below.

There are 2 stations and 6 vehicles in this instance.

**Stations**
| station_id | commissioning_cost | charging_capacity |
|---|---|---|
| F1 | 372.0 | 436.0 |
| F2 | 127.0 | 313.0 |

**Vehicles**
| vehicle_id | charging_demand |
|---|---|
| A | 10.0 |
| B | 9.0 |
| C | 16.0 |
| D | 21.0 |
| E | 13.0 |
| F | 13.0 |

**Detour Cost**
| station_id | vehicle_id | detour_cost |
|---|---|---|
| F1 | A | 233.0 |
| F1 | B | 241.0 |
| F1 | C | 128.0 |
| F1 | D | 220.0 |
| F1 | E | 170.0 |
| F1 | F | 152.0 |
| F2 | A | 128.0 |
| F2 | B | 89.0 |
| F2 | C | 120.0 |
| F2 | D | 102.0 |
| F2 | E | 79.0 |
| F2 | F | 82.0 |

You can just return the answer in this little JSON layout so it's easy to read and machine-friendly:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
  }
}

""selected"" is the list of charging sites you decide to open (those cost money to commission). ""assignments"" is a list with one entry per vehicle saying which open site that vehicle will go to. Think of it like filling out a form β€” which stations are active, and where each vehicle is assigned. This is only a sketch of the shape I need, not the actual answer.

Please make sure to use the exact identifiers from the instance input β€” do not rename them or invent new labels. 
- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [372.0, 127.0], 'capacities': [436.0, 313.0], 'connection_costs': [[233.0, 241.0, 128.0, 220.0, 170.0, 152.0], [128.0, 89.0, 120.0, 102.0, 79.0, 82.0]], 'demands': [10.0, 9.0, 16.0, 21.0, 13.0, 13.0], 'objective': 727.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",727.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 372.0, 'capacity': 436.0}, {'id': 'F2', 'opening_cost': 127.0, 'capacity': 313.0}], 'customers': [{'id': 'A', 'demand': 10.0}, {'id': 'B', 'demand': 9.0}, {'id': 'C', 'demand': 16.0}, {'id': 'D', 'demand': 21.0}, {'id': 'E', 'demand': 13.0}, {'id': 'F', 'demand': 13.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 233.0}, {'facility': 'F1', 'customer': 'B', 'cost': 241.0}, {'facility': 'F1', 'customer': 'C', 'cost': 128.0}, {'facility': 'F1', 'customer': 'D', 'cost': 220.0}, {'facility': 'F1', 'customer': 'E', 'cost': 170.0}, {'facility': 'F1', 'customer': 'F', 'cost': 152.0}, {'facility': 'F2', 'customer': 'A', 'cost': 128.0}, {'facility': 'F2', 'customer': 'B', 'cost': 89.0}, {'facility': 'F2', 'customer': 'C', 'cost': 120.0}, {'facility': 'F2', 'customer': 'D', 'cost': 102.0}, {'facility': 'F2', 'customer': 'E', 'cost': 79.0}, {'facility': 'F2', 'customer': 'F', 'cost': 82.0}], 'objective': 727.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",33,markdown_table,names
CFLP,CFLP,"Recently the campus IT group had to map out which shared printers to install and how to route staff print jobs to those printers. The goal was to minimize the overall cost, which is just the sum of the installation costs for the printers that are put in plus the transfer or delay cost for each document sent to its chosen printer. Every print job must be sent as a whole to a single installed printer, no printer can exceed its duty capacity, and no job can be left unassigned. The full list of printer options, costs, capacities and the print jobs is provided below.

There are 2 candidate shared printers under consideration and 5 individual staff print jobs to assign.
Printer F1: installation cost 400.0, duty capacity 500.0 pages.
Printer F2: installation cost 400.0, duty capacity 500.0 pages.
Print job A: size 18.0 pages.
Print job B: size 41.0 pages.
Print job C: size 21.0 pages.
Print job D: size 27.0 pages.
Print job E: size 16.0 pages.
Printer F1 to job A: transfer/delay cost 193.0.
Printer F1 to job B: transfer/delay cost 140.0.
Printer F1 to job C: transfer/delay cost 374.0.
Printer F1 to job D: transfer/delay cost 214.0.
Printer F1 to job E: transfer/delay cost 300.0.
Printer F2 to job A: transfer/delay cost 231.0.
Printer F2 to job B: transfer/delay cost 540.0.
Printer F2 to job C: transfer/delay cost 503.0.
Printer F2 to job D: transfer/delay cost 307.0.
Printer F2 to job E: transfer/delay cost 672.0.
These entries enumerate all 2 candidate printers and 5 print jobs with their parameters.

If you could return the plan in a simple machine-friendly way, that would be great β€” something like this JSON layout so it's easy to check and parse.

{
  ""solution"": {
    ""selected"": [<printer_to_install>, <printer_to_install>, ...],
    ""assignments"": [<assigned_printer>, <assigned_printer>, ...]
  }
}

Think of ""selected"" as the list of printers you'll actually install, and ""assignments"" as, for each print job in the same order they were listed in the instance, which installed printer that job gets sent to. Super casual: selected = which printers we put in, assignments = where each job goes.

This JSON is just a sketch of the shape I want your answer to follow β€” not the final plan itself.

Please be careful to use the exact identifiers from the instance input when filling in those placeholders β€” do not rename or invent labels. For example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [400.0, 400.0], 'capacities': [500.0, 500.0], 'connection_costs': [[193.0, 140.0, 374.0, 214.0, 300.0], [231.0, 540.0, 503.0, 307.0, 672.0]], 'demands': [18.0, 41.0, 21.0, 27.0, 16.0], 'objective': 1621.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",1621.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 18.0}, {'id': 'B', 'demand': 41.0}, {'id': 'C', 'demand': 21.0}, {'id': 'D', 'demand': 27.0}, {'id': 'E', 'demand': 16.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 193.0}, {'facility': 'F1', 'customer': 'B', 'cost': 140.0}, {'facility': 'F1', 'customer': 'C', 'cost': 374.0}, {'facility': 'F1', 'customer': 'D', 'cost': 214.0}, {'facility': 'F1', 'customer': 'E', 'cost': 300.0}, {'facility': 'F2', 'customer': 'A', 'cost': 231.0}, {'facility': 'F2', 'customer': 'B', 'cost': 540.0}, {'facility': 'F2', 'customer': 'C', 'cost': 503.0}, {'facility': 'F2', 'customer': 'D', 'cost': 307.0}, {'facility': 'F2', 'customer': 'E', 'cost': 672.0}], 'objective': 1621.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",34,nl,names
CFLP,CFLP,"There’s a simple trade-off in town: keep more drop-off centers so neighborhoods travel less, or keep fewer centers to save on upkeep β€” but whichever plan is chosen, each neighborhood’s trash must go to one place and no center can take more than its limit. Each open center has a maintenance cost, each neighborhood-to-center route adds hauling distance, and the aim is the plan that makes the combined upkeep plus hauling as small as possible while respecting site capacities and keeping every neighborhood’s trash intact and unsplit. The actual list of centers, capacities, costs, and neighborhood demands appears below.

# num_dropoff_centers=2
# num_neighborhoods=6
# CENTERS
center_id,maintenance_cost,processing_capacity
F1,291.0,404.0
F2,544.0,338.0
# NEIGHBORHOODS
neighborhood_id,waste_demand
1,28.0
2,19.0
3,30.0
4,27.0
5,26.0
6,11.0
# HAULINGS
center_id,neighborhood_id,hauling_cost
F1,1,1671.0
F1,2,1382.0
F1,3,75.0
F1,4,1279.0
F1,5,1195.0
F1,6,22.0
F2,1,684.0
F2,2,103.0
F2,3,566.0
F2,4,759.0
F2,5,825.0
F2,6,416.0

When you send the plan back, do it in this little JSON shape so it's easy to check automatically and still human-readable:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<assigned_site>, <assigned_site>, ...]
  }
}

Here, ""selected"" is where you list the drop-off centers you decide to keep open, and ""assignments"" is, in order, which open center each neighborhood sends its trash to. Think of it like a simple form: selected = open centers, assignments = each neighborhood's chosen center. This JSON is just a sketch of the shape I need β€” not the final plan itself.

Please use the exact identifiers from the instance input when you fill this in β€” do not rename them or invent new labels. For example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [291.0, 544.0], 'capacities': [404.0, 338.0], 'connection_costs': [[1671.0, 1382.0, 75.0, 1279.0, 1195.0, 22.0], [684.0, 103.0, 566.0, 759.0, 825.0, 416.0]], 'demands': [28.0, 19.0, 30.0, 27.0, 26.0, 11.0], 'objective': 3303.0}","{'open_facilities': [0, 1], 'assignments': [1, 1, 0, 1, 1, 0]}",3303.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 291.0, 'capacity': 404.0}, {'id': 'F2', 'opening_cost': 544.0, 'capacity': 338.0}], 'customers': [{'id': 1, 'demand': 28.0}, {'id': 2, 'demand': 19.0}, {'id': 3, 'demand': 30.0}, {'id': 4, 'demand': 27.0}, {'id': 5, 'demand': 26.0}, {'id': 6, 'demand': 11.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 1671.0}, {'facility': 'F1', 'customer': 2, 'cost': 1382.0}, {'facility': 'F1', 'customer': 3, 'cost': 75.0}, {'facility': 'F1', 'customer': 4, 'cost': 1279.0}, {'facility': 'F1', 'customer': 5, 'cost': 1195.0}, {'facility': 'F1', 'customer': 6, 'cost': 22.0}, {'facility': 'F2', 'customer': 1, 'cost': 684.0}, {'facility': 'F2', 'customer': 2, 'cost': 103.0}, {'facility': 'F2', 'customer': 3, 'cost': 566.0}, {'facility': 'F2', 'customer': 4, 'cost': 759.0}, {'facility': 'F2', 'customer': 5, 'cost': 825.0}, {'facility': 'F2', 'customer': 6, 'cost': 416.0}], 'objective': 3303.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F2', 'F1', 'F2', 'F2', 'F1']}",35,csv,1
CFLP,CFLP,"Recently the team had to map out where to put service stations and how to assign arriving guest groups so nobody ends up split between stations and no station gets swamped. Each potential station comes with a setup charge and a cap on how many people it can serve, while each guest group has a cost to be served from each station. The idea is to open some stations and send every group to exactly one of the opened stations, keeping assignments within capacity, and then total up the cost: station setup charges for those opened plus the service/travel costs for all group assignments β€” the lower that total, the better. The specific station choices, capacities, costs, and guest group list are below.

There are 3 candidate stations and 6 guest groups listed below.
Station F1 has a setup cost of 221.0 and a capacity of 700.0 guests.
Station F2 has a setup cost of 201.0 and a capacity of 700.0 guests.
Station F3 has a setup cost of 450.0 and a capacity of 700.0 guests.
Guest group A has 28.0 people.
Guest group B has 26.0 people.
Guest group C has 19.0 people.
Guest group D has 29.0 people.
Guest group E has 17.0 people.
Guest group F has 20.0 people.
Assigning group A to station F1 incurs a cost of 378.0.
Assigning group B to station F1 incurs a cost of 76.0.
Assigning group C to station F1 incurs a cost of 131.0.
Assigning group D to station F1 incurs a cost of 231.0.
Assigning group E to station F1 incurs a cost of 450.0.
Assigning group F to station F1 incurs a cost of 150.0.
Assigning group A to station F2 incurs a cost of 388.0.
Assigning group B to station F2 incurs a cost of 56.0.
Assigning group C to station F2 incurs a cost of 132.0.
Assigning group D to station F2 incurs a cost of 264.0.
Assigning group E to station F2 incurs a cost of 352.0.
Assigning group F to station F2 incurs a cost of 79.0.
Assigning group A to station F3 incurs a cost of 309.0.
Assigning group B to station F3 incurs a cost of 189.0.
Assigning group C to station F3 incurs a cost of 590.0.
Assigning group D to station F3 incurs a cost of 133.0.
Assigning group E to station F3 incurs a cost of 750.0.
Assigning group F to station F3 incurs a cost of 399.0.
These entries list the stations, guest groups, and assignment costs used to decide which stations to open and how to assign each group.

Oh, and when you send the actual picks and assignments back, please follow this little JSON layout so it's easy to parse and check β€” just a simple sketch of the shape I expect:

{
  ""solution"": {
    ""selected"": [<station_to_open>, <station_to_open>, ...],
    ""assignments"": [<station_for_group>, <station_for_group>, ...]
  }
}

Pretty straightforward: ""selected"" is the list of stations you decide to set up, and ""assignments"" is the list (in the same order as the guest groups were given) of which opened station each group goes to. Think of it like filling out a form: pick the stations you open, then for each guest group write the station you assigned them to.

This JSON is just a sketch of the expected shape, not the actual solution β€” fill in the real station identifiers from the instance when you reply.

Please make sure you use the exact identifiers from the instance input β€” do not rename them or invent new labels. Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [221.0, 201.0, 450.0], 'capacities': [700.0, 700.0, 700.0], 'connection_costs': [[378.0, 76.0, 131.0, 231.0, 450.0, 150.0], [388.0, 56.0, 132.0, 264.0, 352.0, 79.0], [309.0, 189.0, 590.0, 133.0, 750.0, 399.0]], 'demands': [28.0, 26.0, 19.0, 29.0, 17.0, 20.0], 'objective': 1472.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",1472.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 221.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 201.0, 'capacity': 700.0}, {'id': 'F3', 'opening_cost': 450.0, 'capacity': 700.0}], 'customers': [{'id': 'A', 'demand': 28.0}, {'id': 'B', 'demand': 26.0}, {'id': 'C', 'demand': 19.0}, {'id': 'D', 'demand': 29.0}, {'id': 'E', 'demand': 17.0}, {'id': 'F', 'demand': 20.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 378.0}, {'facility': 'F1', 'customer': 'B', 'cost': 76.0}, {'facility': 'F1', 'customer': 'C', 'cost': 131.0}, {'facility': 'F1', 'customer': 'D', 'cost': 231.0}, {'facility': 'F1', 'customer': 'E', 'cost': 450.0}, {'facility': 'F1', 'customer': 'F', 'cost': 150.0}, {'facility': 'F2', 'customer': 'A', 'cost': 388.0}, {'facility': 'F2', 'customer': 'B', 'cost': 56.0}, {'facility': 'F2', 'customer': 'C', 'cost': 132.0}, {'facility': 'F2', 'customer': 'D', 'cost': 264.0}, {'facility': 'F2', 'customer': 'E', 'cost': 352.0}, {'facility': 'F2', 'customer': 'F', 'cost': 79.0}, {'facility': 'F3', 'customer': 'A', 'cost': 309.0}, {'facility': 'F3', 'customer': 'B', 'cost': 189.0}, {'facility': 'F3', 'customer': 'C', 'cost': 590.0}, {'facility': 'F3', 'customer': 'D', 'cost': 133.0}, {'facility': 'F3', 'customer': 'E', 'cost': 750.0}, {'facility': 'F3', 'customer': 'F', 'cost': 399.0}], 'objective': 1472.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",36,nl,names
CFLP,CFLP,"Out in the district planners are choosing which pantry locations to operate and routing every family to a single open pantry, taking care not to overload any pantry’s storage. A good plan is judged by total cost β€” the sum of the running charges for the open sites plus the cost to serve all the families β€” so the plan with the lowest combined cost wins. The concrete inputs and figures come after this.

There are 2 pantrys and 5 familys in this instance.

**Pantrys**
| pantry_id | operating_charge | storage_limit |
|---|---|---|
| F1 | 300.0 | 491.0 |
| F2 | 300.0 | 378.0 |

**Familys**
| family_id | family_demand |
|---|---|
| 1 | 28.0 |
| 2 | 18.0 |
| 3 | 17.0 |
| 4 | 19.0 |
| 5 | 18.0 |

**Service Cost**
| pantry_id | family_id | service_cost |
|---|---|---|
| F1 | 1 | 66.0 |
| F1 | 2 | 37.0 |
| F1 | 3 | 52.0 |
| F1 | 4 | 120.0 |
| F1 | 5 | 341.0 |
| F2 | 1 | 175.0 |
| F2 | 2 | 182.0 |
| F2 | 3 | 91.0 |
| F2 | 4 | 38.0 |
| F2 | 5 | 73.0 |

Oh, and when you send the plan back, please follow this simple JSON layout so I can read it easily:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_site>, <chosen_site>, ...]
  }
}

Think of ""selected"" as the list of pantry sites you'll keep running, and ""assignments"" as which open pantry each family goes to (one entry per family, in the same order as the family list). This is just a sketch of the shape I expect β€” not the final plan itself.

Please be sure to use the exact identifiers from the instance input when filling this out β€” don't rename sites or invent new labels. 
- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [300.0, 300.0], 'capacities': [491.0, 378.0], 'connection_costs': [[66.0, 37.0, 52.0, 120.0, 341.0], [175.0, 182.0, 91.0, 38.0, 73.0]], 'demands': [28.0, 18.0, 17.0, 19.0, 18.0], 'objective': 859.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1]}",859.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 491.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 378.0}], 'customers': [{'id': 1, 'demand': 28.0}, {'id': 2, 'demand': 18.0}, {'id': 3, 'demand': 17.0}, {'id': 4, 'demand': 19.0}, {'id': 5, 'demand': 18.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 66.0}, {'facility': 'F1', 'customer': 2, 'cost': 37.0}, {'facility': 'F1', 'customer': 3, 'cost': 52.0}, {'facility': 'F1', 'customer': 4, 'cost': 120.0}, {'facility': 'F1', 'customer': 5, 'cost': 341.0}, {'facility': 'F2', 'customer': 1, 'cost': 175.0}, {'facility': 'F2', 'customer': 2, 'cost': 182.0}, {'facility': 'F2', 'customer': 3, 'cost': 91.0}, {'facility': 'F2', 'customer': 4, 'cost': 38.0}, {'facility': 'F2', 'customer': 5, 'cost': 73.0}], 'objective': 859.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2']}",37,markdown_table,1
CFLP,CFLP,"One day the ops team had to trim costs: there are several data centers that can be kept on for a fee and each has finite server capacity, and every application must be assigned to a single active center. The task is to pick which centers to keep running and assign every app to exactly one of them, without exceeding any center’s capacity or duplicating assignments. The goal is to minimize the overall outlay β€” total cost equals the sum of running fees for the centers that are on plus the latency/connection cost for each app’s assignment β€” so choose the setup with the smallest total. The detailed instance information follows below.

{
  ""num_data_centers"": 3,
  ""num_applications"": 7,
  ""data_centers"": [
    {
      ""data_center_id"": ""F1"",
      ""running_fee"": 400.0,
      ""server_capacity"": 751.0
    },
    {
      ""data_center_id"": ""F2"",
      ""running_fee"": 400.0,
      ""server_capacity"": 1103.0
    },
    {
      ""data_center_id"": ""F3"",
      ""running_fee"": 400.0,
      ""server_capacity"": 506.0
    }
  ],
  ""applications"": [
    {
      ""application_id"": 1,
      ""app_demand"": 43.0
    },
    {
      ""application_id"": 2,
      ""app_demand"": 15.0
    },
    {
      ""application_id"": 3,
      ""app_demand"": 32.0
    },
    {
      ""application_id"": 4,
      ""app_demand"": 27.0
    },
    {
      ""application_id"": 5,
      ""app_demand"": 22.0
    },
    {
      ""application_id"": 6,
      ""app_demand"": 23.0
    },
    {
      ""application_id"": 7,
      ""app_demand"": 15.0
    }
  ],
  ""latencys"": [
    {
      ""data_center_id"": ""F1"",
      ""application_id"": 1,
      ""latency_cost"": 583.0
    },
    {
      ""data_center_id"": ""F1"",
      ""application_id"": 2,
      ""latency_cost"": 321.0
    },
    {
      ""data_center_id"": ""F1"",
      ""application_id"": 3,
      ""latency_cost"": 82.0
    },
    {
      ""data_center_id"": ""F1"",
      ""application_id"": 4,
      ""latency_cost"": 177.0
    },
    {
      ""data_center_id"": ""F1"",
      ""application_id"": 5,
      ""latency_cost"": 93.0
    },
    {
      ""data_center_id"": ""F1"",
      ""application_id"": 6,
      ""latency_cost"": 354.0
    },
    {
      ""data_center_id"": ""F1"",
      ""application_id"": 7,
      ""latency_cost"": 430.0
    },
    {
      ""data_center_id"": ""F2"",
      ""application_id"": 1,
      ""latency_cost"": 462.0
    },
    {
      ""data_center_id"": ""F2"",
      ""application_id"": 2,
      ""latency_cost"": 26.0
    },
    {
      ""data_center_id"": ""F2"",
      ""application_id"": 3,
      ""latency_cost"": 358.0
    },
    {
      ""data_center_id"": ""F2"",
      ""application_id"": 4,
      ""latency_cost"": 246.0
    },
    {
      ""data_center_id"": ""F2"",
      ""application_id"": 5,
      ""latency_cost"": 273.0
    },
    {
      ""data_center_id"": ""F2"",
      ""application_id"": 6,
      ""latency_cost"": 390.0
    },
    {
      ""data_center_id"": ""F2"",
      ""application_id"": 7,
      ""latency_cost"": 603.0
    },
    {
      ""data_center_id"": ""F3"",
      ""application_id"": 1,
      ""latency_cost"": 193.0
    },
    {
      ""data_center_id"": ""F3"",
      ""application_id"": 2,
      ""latency_cost"": 312.0
    },
    {
      ""data_center_id"": ""F3"",
      ""application_id"": 3,
      ""latency_cost"": 464.0
    },
    {
      ""data_center_id"": ""F3"",
      ""application_id"": 4,
      ""latency_cost"": 218.0
    },
    {
      ""data_center_id"": ""F3"",
      ""application_id"": 5,
      ""latency_cost"": 401.0
    },
    {
      ""data_center_id"": ""F3"",
      ""application_id"": 6,
      ""latency_cost"": 143.0
    },
    {
      ""data_center_id"": ""F3"",
      ""application_id"": 7,
      ""latency_cost"": 385.0
    }
  ]
}

Also, just so we're on the same page, please give the solution using this simple JSON shape when you answer β€” nothing fancy, just that structure so it's easy to parse:

{
  ""solution"": {
    ""selected"": [<center_to_keep_on>, <center_to_keep_on>, ...],
    ""assignments"": [<chosen_open_center>, <chosen_open_center>, ...]
  }
}

Think of ""selected"" as the list of data centers you decide to keep running (one placeholder per center), and ""assignments"" as, in order, which running center each application gets assigned to. Super informal: ""selected"" = which centers are on, ""assignments"" = where each app goes.

This JSON is only a sketch of the expected shape, not the actual answer.

Please make sure to use the exact identifiers from the instance input β€” do not rename them and do not invent new labels.
- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [400.0, 400.0, 400.0], 'capacities': [751.0, 1103.0, 506.0], 'connection_costs': [[583.0, 321.0, 82.0, 177.0, 93.0, 354.0, 430.0], [462.0, 26.0, 358.0, 246.0, 273.0, 390.0, 603.0], [193.0, 312.0, 464.0, 218.0, 401.0, 143.0, 385.0]], 'demands': [43.0, 15.0, 32.0, 27.0, 22.0, 23.0, 15.0], 'objective': 2185.0}","{'open_facilities': [0, 2], 'assignments': [2, 2, 0, 0, 0, 2, 2]}",2185.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 751.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 1103.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 506.0}], 'customers': [{'id': 1, 'demand': 43.0}, {'id': 2, 'demand': 15.0}, {'id': 3, 'demand': 32.0}, {'id': 4, 'demand': 27.0}, {'id': 5, 'demand': 22.0}, {'id': 6, 'demand': 23.0}, {'id': 7, 'demand': 15.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 583.0}, {'facility': 'F1', 'customer': 2, 'cost': 321.0}, {'facility': 'F1', 'customer': 3, 'cost': 82.0}, {'facility': 'F1', 'customer': 4, 'cost': 177.0}, {'facility': 'F1', 'customer': 5, 'cost': 93.0}, {'facility': 'F1', 'customer': 6, 'cost': 354.0}, {'facility': 'F1', 'customer': 7, 'cost': 430.0}, {'facility': 'F2', 'customer': 1, 'cost': 462.0}, {'facility': 'F2', 'customer': 2, 'cost': 26.0}, {'facility': 'F2', 'customer': 3, 'cost': 358.0}, {'facility': 'F2', 'customer': 4, 'cost': 246.0}, {'facility': 'F2', 'customer': 5, 'cost': 273.0}, {'facility': 'F2', 'customer': 6, 'cost': 390.0}, {'facility': 'F2', 'customer': 7, 'cost': 603.0}, {'facility': 'F3', 'customer': 1, 'cost': 193.0}, {'facility': 'F3', 'customer': 2, 'cost': 312.0}, {'facility': 'F3', 'customer': 3, 'cost': 464.0}, {'facility': 'F3', 'customer': 4, 'cost': 218.0}, {'facility': 'F3', 'customer': 5, 'cost': 401.0}, {'facility': 'F3', 'customer': 6, 'cost': 143.0}, {'facility': 'F3', 'customer': 7, 'cost': 385.0}], 'objective': 2185.0}","{'selected': ['F1', 'F3'], 'assignments': ['F3', 'F3', 'F1', 'F1', 'F1', 'F3', 'F3']}",38,json,1
CFLP,CFLP,"Someone in operations has to map orders to active micro-fulfillment centers and decide which centers to open. Opening a center carries a fixed fee and each center can only process a limited number of parcels; each order must go to exactly one open center and centers can’t take on more than their throughput allows. The quality of any decision is judged by the total expense: add the activation fees for the centers that are opened plus the routing cost for all orders β€” the plan with the lowest total is preferred. The exact center fees, capacities, and order list are shown below.

# num_micro_centers=3
# num_orders=6
# CONNECTION_CENTERS
connection_center_id,activation_fee,center_throughput
F1,600.0,300.0
F2,600.0,300.0
F3,600.0,300.0
# CONNECTION_ORDERS
connection_order_id,order_parcel_count
0,28.0
1,30.0
2,20.0
3,12.0
4,27.0
5,19.0
# ROUTINGS
connection_center_id,connection_order_id,routing_cost
F1,0,81.0
F1,1,168.0
F1,2,281.0
F1,3,57.0
F1,4,278.0
F1,5,40.0
F2,0,995.0
F2,1,317.0
F2,2,1279.0
F2,3,1869.0
F2,4,1878.0
F2,5,1087.0
F3,0,838.0
F3,1,377.0
F3,2,995.0
F3,3,1637.0
F3,4,1611.0
F3,5,889.0

Also, when you send back the plan, please use this little JSON layout so I can read it automatically β€” just a casual shape for the answer:

{
  ""solution"": {
    ""selected"": [<center_to_open>, <center_to_open>, ...],
    ""assignments"": [<chosen_open_center>, <chosen_open_center>, ...]
  }
}

""selected"" is where you list the centers you decide to open (one identifier per opened center). ""assignments"" is a list that, for each order in the same order as the input, gives the identifier of the open center that will handle that order. Super informal: think of ""selected"" as the checkboxes you tick and ""assignments"" as the column where you write which box each order goes into.

This JSON is just a sketch of the expected shape β€” not the actual answer. Make sure every identifier you put in here matches the instance input exactly β€” no renaming and no new labels.

Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [600.0, 600.0, 600.0], 'capacities': [300.0, 300.0, 300.0], 'connection_costs': [[81.0, 168.0, 281.0, 57.0, 278.0, 40.0], [995.0, 317.0, 1279.0, 1869.0, 1878.0, 1087.0], [838.0, 377.0, 995.0, 1637.0, 1611.0, 889.0]], 'demands': [28.0, 30.0, 20.0, 12.0, 27.0, 19.0], 'objective': 1505.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0, 0]}",1505.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 300.0}, {'id': 'F3', 'opening_cost': 600.0, 'capacity': 300.0}], 'customers': [{'id': 0, 'demand': 28.0}, {'id': 1, 'demand': 30.0}, {'id': 2, 'demand': 20.0}, {'id': 3, 'demand': 12.0}, {'id': 4, 'demand': 27.0}, {'id': 5, 'demand': 19.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 81.0}, {'facility': 'F1', 'customer': 1, 'cost': 168.0}, {'facility': 'F1', 'customer': 2, 'cost': 281.0}, {'facility': 'F1', 'customer': 3, 'cost': 57.0}, {'facility': 'F1', 'customer': 4, 'cost': 278.0}, {'facility': 'F1', 'customer': 5, 'cost': 40.0}, {'facility': 'F2', 'customer': 0, 'cost': 995.0}, {'facility': 'F2', 'customer': 1, 'cost': 317.0}, {'facility': 'F2', 'customer': 2, 'cost': 1279.0}, {'facility': 'F2', 'customer': 3, 'cost': 1869.0}, {'facility': 'F2', 'customer': 4, 'cost': 1878.0}, {'facility': 'F2', 'customer': 5, 'cost': 1087.0}, {'facility': 'F3', 'customer': 0, 'cost': 838.0}, {'facility': 'F3', 'customer': 1, 'cost': 377.0}, {'facility': 'F3', 'customer': 2, 'cost': 995.0}, {'facility': 'F3', 'customer': 3, 'cost': 1637.0}, {'facility': 'F3', 'customer': 4, 'cost': 1611.0}, {'facility': 'F3', 'customer': 5, 'cost': 889.0}], 'objective': 1505.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1', 'F1']}",39,csv,0
CFLP,CFLP,"Across the county the goal is to set up a handful of mobile clinic locations and then send each patient to exactly one of the opened locations, making sure no location is overloaded. Each possible location has a cost to deploy and a capacity limit, and routing a patient to a location brings a travel or treatment cost. One rollout is better than another if its overall cost β€” the sum of the deployment costs for the chosen locations plus the travel/treatment costs for everyone scheduled there β€” is lower, with every patient assigned to a single open location and each location kept within its capacity. The concrete details are shown below.

The scenario lists 2 candidate mobile clinic sites and 5 patients; item details follow.
Site F1 has a deployment cost of 400.0 and a capacity of 300.0.
Site F2 has a deployment cost of 400.0 and a capacity of 300.0.
Patient 0 has demand 23.0.
Patient 1 has demand 29.0.
Patient 2 has demand 22.0.
Patient 3 has demand 18.0.
Patient 4 has demand 24.0.
Scheduling patient 0 at site F1 incurs cost 260.0.
Scheduling patient 1 at site F1 incurs cost 58.0.
Scheduling patient 2 at site F1 incurs cost 286.0.
Scheduling patient 3 at site F1 incurs cost 38.0.
Scheduling patient 4 at site F1 incurs cost 883.0.
Scheduling patient 0 at site F2 incurs cost 305.0.
Scheduling patient 1 at site F2 incurs cost 64.0.
Scheduling patient 2 at site F2 incurs cost 145.0.
Scheduling patient 3 at site F2 incurs cost 42.0.
Scheduling patient 4 at site F2 incurs cost 538.0.
These item entries together determine the total deployment plus routing costs and the feasibility under the capacity and single-assignment requirements.

Also, when you send the rollout back, please follow this little JSON layout so it's easy to check automatically. Here's the shape I expect:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
  }
}

Think of ""selected"" as the list of clinic sites you decide to deploy, and ""assignments"" as who goes to which opened site (one entry per patient, in the same order the patients appear in the instance). This is just the format sketch β€” not the actual numbers or choices.

Please make sure all identifiers you use match the instance input exactly β€” no renaming and no invented labels. 
- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”. ""","{'opening_costs': [400.0, 400.0], 'capacities': [300.0, 300.0], 'connection_costs': [[260.0, 58.0, 286.0, 38.0, 883.0], [305.0, 64.0, 145.0, 42.0, 538.0]], 'demands': [23.0, 29.0, 22.0, 18.0, 24.0], 'objective': 1494.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1]}",1494.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 300.0}], 'customers': [{'id': 0, 'demand': 23.0}, {'id': 1, 'demand': 29.0}, {'id': 2, 'demand': 22.0}, {'id': 3, 'demand': 18.0}, {'id': 4, 'demand': 24.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 260.0}, {'facility': 'F1', 'customer': 1, 'cost': 58.0}, {'facility': 'F1', 'customer': 2, 'cost': 286.0}, {'facility': 'F1', 'customer': 3, 'cost': 38.0}, {'facility': 'F1', 'customer': 4, 'cost': 883.0}, {'facility': 'F2', 'customer': 0, 'cost': 305.0}, {'facility': 'F2', 'customer': 1, 'cost': 64.0}, {'facility': 'F2', 'customer': 2, 'cost': 145.0}, {'facility': 'F2', 'customer': 3, 'cost': 42.0}, {'facility': 'F2', 'customer': 4, 'cost': 538.0}], 'objective': 1494.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2']}",40,nl,0
CFLP,CFLP,"Recently the planners talked about which docking stations to activate and how to group riders around them. Every station that’s turned on comes with a fixed cost, and each rider’s distance or inconvenience to their dock adds a small extra cost, so the plan that’s preferred is the one with the lowest combined cost β€” station start-up fees plus all riders’ access costs. It’s required that each rider be matched to a single open station and that no station be asked to handle more riders than its capacity. The detailed numbers are provided below.

# num_docking_stations=3
# num_riders=7
# DOCKING_STATIONS
docking_station_id,station_activation_cost,station_capacity
F1,468.0,700.0
F2,544.0,700.0
F3,450.0,700.0
# RIDERS
rider_id,rider_demand
0,11.0
1,20.0
2,17.0
3,24.0
4,18.0
5,18.0
6,15.0
# RIDER_ACCESSS
docking_station_id,rider_id,rider_access_cost
F1,0,690.0
F1,1,1197.0
F1,2,2407.0
F1,3,986.0
F1,4,45.0
F1,5,1784.0
F1,6,2235.0
F2,0,445.0
F2,1,421.0
F2,2,810.0
F2,3,691.0
F2,4,62.0
F2,5,384.0
F2,6,503.0
F3,0,48.0
F3,1,132.0
F3,2,1260.0
F3,3,155.0
F3,4,40.0
F3,5,730.0
F3,6,1217.0

Also, when you reply with the plan, please stick to this simple JSON layout so it's easy to parse:

{
  ""solution"": {
    ""selected"": [<station_to_open>, <station_to_open>, ...],
    ""assignments"": [<chosen_open_station>, <chosen_open_station>, ...]
  }
}

This just sketches the shape we expectβ€”nothing more. In plain terms: ""selected"" is the list of docking stations you decide to turn on, and ""assignments"" gives, for each rider (in the same order as the input), the identifier of the open station they're assigned to. Keep it casual and concise.

Please make sure to use the exact identifiers from the instance input β€” do not rename them or invent new labels. Valid identifiers look like plain numbers such as β€œ1” or β€œ23”
- single capital letters like β€œA” or β€œB”
- or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [468.0, 544.0, 450.0], 'capacities': [700.0, 700.0, 700.0], 'connection_costs': [[690.0, 1197.0, 2407.0, 986.0, 45.0, 1784.0, 2235.0], [445.0, 421.0, 810.0, 691.0, 62.0, 384.0, 503.0], [48.0, 132.0, 1260.0, 155.0, 40.0, 730.0, 1217.0]], 'demands': [11.0, 20.0, 17.0, 24.0, 18.0, 18.0, 15.0], 'objective': 3066.0}","{'open_facilities': [1, 2], 'assignments': [2, 2, 1, 2, 2, 1, 1]}",3066.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 468.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 544.0, 'capacity': 700.0}, {'id': 'F3', 'opening_cost': 450.0, 'capacity': 700.0}], 'customers': [{'id': 0, 'demand': 11.0}, {'id': 1, 'demand': 20.0}, {'id': 2, 'demand': 17.0}, {'id': 3, 'demand': 24.0}, {'id': 4, 'demand': 18.0}, {'id': 5, 'demand': 18.0}, {'id': 6, 'demand': 15.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 690.0}, {'facility': 'F1', 'customer': 1, 'cost': 1197.0}, {'facility': 'F1', 'customer': 2, 'cost': 2407.0}, {'facility': 'F1', 'customer': 3, 'cost': 986.0}, {'facility': 'F1', 'customer': 4, 'cost': 45.0}, {'facility': 'F1', 'customer': 5, 'cost': 1784.0}, {'facility': 'F1', 'customer': 6, 'cost': 2235.0}, {'facility': 'F2', 'customer': 0, 'cost': 445.0}, {'facility': 'F2', 'customer': 1, 'cost': 421.0}, {'facility': 'F2', 'customer': 2, 'cost': 810.0}, {'facility': 'F2', 'customer': 3, 'cost': 691.0}, {'facility': 'F2', 'customer': 4, 'cost': 62.0}, {'facility': 'F2', 'customer': 5, 'cost': 384.0}, {'facility': 'F2', 'customer': 6, 'cost': 503.0}, {'facility': 'F3', 'customer': 0, 'cost': 48.0}, {'facility': 'F3', 'customer': 1, 'cost': 132.0}, {'facility': 'F3', 'customer': 2, 'cost': 1260.0}, {'facility': 'F3', 'customer': 3, 'cost': 155.0}, {'facility': 'F3', 'customer': 4, 'cost': 40.0}, {'facility': 'F3', 'customer': 5, 'cost': 730.0}, {'facility': 'F3', 'customer': 6, 'cost': 1217.0}], 'objective': 3066.0}","{'selected': ['F2', 'F3'], 'assignments': ['F3', 'F3', 'F2', 'F3', 'F3', 'F2', 'F2']}",41,csv,0
CFLP,CFLP,"Out in the district the challenge is picking which vending spots to fill and then assigning every customer zone to just one of the stocked spots. Filling a spot comes with a stocking fee, and each zone picks up an inconvenience cost depending on how far its assigned spot is; to judge any arrangement, total up all the stocking fees plus all the inconvenience costs β€” that combined total determines how good the choice is. It’s also essential that no stocked spot serves beyond its capacity and that every zone is linked to one and only one stocked spot. The instance details follow below.

There are 2 vending sites and 6 customer zones in this instance.

**Vending Sites**
| vending_site_id | stocking_fee | stocking_capacity |
|---|---|---|
| F1 | 474.0 | 487.0 |
| F2 | 432.0 | 466.0 |

**Customer Zones**
| customer_zone_id | zone_demand |
|---|---|
| 1 | 20.0 |
| 2 | 40.0 |
| 3 | 10.0 |
| 4 | 16.0 |
| 5 | 31.0 |
| 6 | 6.0 |

**Inconvenience Cost**
| vending_site_id | customer_zone_id | inconvenience_cost |
|---|---|---|
| F1 | 1 | 357.0 |
| F1 | 2 | 201.0 |
| F1 | 3 | 23.0 |
| F1 | 4 | 347.0 |
| F1 | 5 | 133.0 |
| F1 | 6 | 215.0 |
| F2 | 1 | 117.0 |
| F2 | 2 | 105.0 |
| F2 | 3 | 241.0 |
| F2 | 4 | 128.0 |
| F2 | 5 | 157.0 |
| F2 | 6 | 83.0 |

Also, when you send your pick, please follow this little JSON layout so it's easy to read and check:

{
  ""solution"": {
    ""selected"": [<vending_spot_to_open>, <vending_spot_to_open>, ...],
    ""assignments"": [<chosen_vending_spot>, <chosen_vending_spot>, ...]
  }
}

Think of ""selected"" as the list of vending spots you decide to stock, and ""assignments"" as a parallel list saying which stocked spot each customer zone uses (one entry per zone). This is just a sketch of the shape I need β€” not the final answer itself.

Please use the exact identifiers from the instance input when you fill this in; do not rename them or invent new labels.
- ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [474.0, 432.0], 'capacities': [487.0, 466.0], 'connection_costs': [[357.0, 201.0, 23.0, 347.0, 133.0, 215.0], [117.0, 105.0, 241.0, 128.0, 157.0, 83.0]], 'demands': [20.0, 40.0, 10.0, 16.0, 31.0, 6.0], 'objective': 1263.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",1263.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 474.0, 'capacity': 487.0}, {'id': 'F2', 'opening_cost': 432.0, 'capacity': 466.0}], 'customers': [{'id': 1, 'demand': 20.0}, {'id': 2, 'demand': 40.0}, {'id': 3, 'demand': 10.0}, {'id': 4, 'demand': 16.0}, {'id': 5, 'demand': 31.0}, {'id': 6, 'demand': 6.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 357.0}, {'facility': 'F1', 'customer': 2, 'cost': 201.0}, {'facility': 'F1', 'customer': 3, 'cost': 23.0}, {'facility': 'F1', 'customer': 4, 'cost': 347.0}, {'facility': 'F1', 'customer': 5, 'cost': 133.0}, {'facility': 'F1', 'customer': 6, 'cost': 215.0}, {'facility': 'F2', 'customer': 1, 'cost': 117.0}, {'facility': 'F2', 'customer': 2, 'cost': 105.0}, {'facility': 'F2', 'customer': 3, 'cost': 241.0}, {'facility': 'F2', 'customer': 4, 'cost': 128.0}, {'facility': 'F2', 'customer': 5, 'cost': 157.0}, {'facility': 'F2', 'customer': 6, 'cost': 83.0}], 'objective': 1263.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",42,markdown_table,1
CFLP,CFLP,"Picture this: a map dotted with possible sorting hubs, each one you can turn on for a fee and each one only able to handle so many deliveries. Every address on the map needs to be sent to one running hub, and if a hub is farther away the trip costs more. The job is to decide which hubs to power up and which hub each address uses so the total spending β€” the sum of hub running costs and all the per-address routing costs β€” ends up minimal, and no hub is asked to do more than it can. The exact figures and setup are shown below.

{
  ""num_hubs"": 2,
  ""num_addresses"": 5,
  ""hub_id_refs"": [
    {
      ""hub_id_ref"": ""F1"",
      ""hub_running_cost"": 400.0,
      ""hub_capacity"": 300.0
    },
    {
      ""hub_id_ref"": ""F2"",
      ""hub_running_cost"": 400.0,
      ""hub_capacity"": 300.0
    }
  ],
  ""address_id_refs"": [
    {
      ""address_id_ref"": 1,
      ""address_demand"": 28.0
    },
    {
      ""address_id_ref"": 2,
      ""address_demand"": 23.0
    },
    {
      ""address_id_ref"": 3,
      ""address_demand"": 24.0
    },
    {
      ""address_id_ref"": 4,
      ""address_demand"": 18.0
    },
    {
      ""address_id_ref"": 5,
      ""address_demand"": 27.0
    }
  ],
  ""routings"": [
    {
      ""hub_id_ref"": ""F1"",
      ""address_id_ref"": 1,
      ""routing_cost"": 282.0
    },
    {
      ""hub_id_ref"": ""F1"",
      ""address_id_ref"": 2,
      ""routing_cost"": 288.0
    },
    {
      ""hub_id_ref"": ""F1"",
      ""address_id_ref"": 3,
      ""routing_cost"": 63.0
    },
    {
      ""hub_id_ref"": ""F1"",
      ""address_id_ref"": 4,
      ""routing_cost"": 36.0
    },
    {
      ""hub_id_ref"": ""F1"",
      ""address_id_ref"": 5,
      ""routing_cost"": 56.0
    },
    {
      ""hub_id_ref"": ""F2"",
      ""address_id_ref"": 1,
      ""routing_cost"": 952.0
    },
    {
      ""hub_id_ref"": ""F2"",
      ""address_id_ref"": 2,
      ""routing_cost"": 1310.0
    },
    {
      ""hub_id_ref"": ""F2"",
      ""address_id_ref"": 3,
      ""routing_cost"": 365.0
    },
    {
      ""hub_id_ref"": ""F2"",
      ""address_id_ref"": 4,
      ""routing_cost"": 690.0
    },
    {
      ""hub_id_ref"": ""F2"",
      ""address_id_ref"": 5,
      ""routing_cost"": 54.0
    }
  ]
}

Oh, and one more practical thing β€” please give the final plan in this little JSON shape so it's easy to read and check:

{
  ""solution"": {
    ""selected"": [<hub_to_open>, <hub_to_open>, ...],
    ""assignments"": [<assigned_hub>, <assigned_hub>, ...]
  }
}

Here ""selected"" is where you list the hubs you decide to power up (use the exact hub IDs from the instance), and ""assignments"" is a list, in customer order, saying which opened hub each address will use. Think of it like filling out a short form: which hubs are on, and for each address which hub handles it. This is just the expected shape β€” not the final choices.

Please use the exact identifiers from the instance input β€” do not rename or invent labels. 
For example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [400.0, 400.0], 'capacities': [300.0, 300.0], 'connection_costs': [[282.0, 288.0, 63.0, 36.0, 56.0], [952.0, 1310.0, 365.0, 690.0, 54.0]], 'demands': [28.0, 23.0, 24.0, 18.0, 27.0], 'objective': 1125.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",1125.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 300.0}], 'customers': [{'id': 1, 'demand': 28.0}, {'id': 2, 'demand': 23.0}, {'id': 3, 'demand': 24.0}, {'id': 4, 'demand': 18.0}, {'id': 5, 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 282.0}, {'facility': 'F1', 'customer': 2, 'cost': 288.0}, {'facility': 'F1', 'customer': 3, 'cost': 63.0}, {'facility': 'F1', 'customer': 4, 'cost': 36.0}, {'facility': 'F1', 'customer': 5, 'cost': 56.0}, {'facility': 'F2', 'customer': 1, 'cost': 952.0}, {'facility': 'F2', 'customer': 2, 'cost': 1310.0}, {'facility': 'F2', 'customer': 3, 'cost': 365.0}, {'facility': 'F2', 'customer': 4, 'cost': 690.0}, {'facility': 'F2', 'customer': 5, 'cost': 54.0}], 'objective': 1125.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",43,json,1
CFLP,CFLP,"There’s a small town council trying to set up shared garden plots: each plot has an entry fee and can only hold so many people, and each gardener has a different effort cost for working different plots. The decision is which plots to unlock and which single unlocked plot every gardener should be assigned to, while respecting each plot’s capacity limits and making sure everyone is assigned exactly once. The winning layout is the one with the lowest total bill β€” just add the fees for all unlocked plots plus the effort costs for every gardener’s assignment to get the final total. The specific numbers for fees, capacities, and effort are given below.

{
  ""num_plots"": 4,
  ""num_gardeners"": 8,
  ""plots"": [
    {
      ""plot_id"": ""F1"",
      ""unlock_fee"": 300.0,
      ""plot_capacity"": 300.0
    },
    {
      ""plot_id"": ""F2"",
      ""unlock_fee"": 300.0,
      ""plot_capacity"": 300.0
    },
    {
      ""plot_id"": ""F3"",
      ""unlock_fee"": 300.0,
      ""plot_capacity"": 300.0
    },
    {
      ""plot_id"": ""F4"",
      ""unlock_fee"": 300.0,
      ""plot_capacity"": 300.0
    }
  ],
  ""gardeners"": [
    {
      ""gardener_id"": ""A"",
      ""gardener_demand"": 19.0
    },
    {
      ""gardener_id"": ""B"",
      ""gardener_demand"": 25.0
    },
    {
      ""gardener_id"": ""C"",
      ""gardener_demand"": 23.0
    },
    {
      ""gardener_id"": ""D"",
      ""gardener_demand"": 10.0
    },
    {
      ""gardener_id"": ""E"",
      ""gardener_demand"": 27.0
    },
    {
      ""gardener_id"": ""F"",
      ""gardener_demand"": 11.0
    },
    {
      ""gardener_id"": ""G"",
      ""gardener_demand"": 29.0
    },
    {
      ""gardener_id"": ""H"",
      ""gardener_demand"": 23.0
    }
  ],
  ""efforts"": [
    {
      ""plot_id"": ""F1"",
      ""gardener_id"": ""A"",
      ""effort_cost"": 50.0
    },
    {
      ""plot_id"": ""F1"",
      ""gardener_id"": ""B"",
      ""effort_cost"": 50.0
    },
    {
      ""plot_id"": ""F1"",
      ""gardener_id"": ""C"",
      ""effort_cost"": 198.0
    },
    {
      ""plot_id"": ""F1"",
      ""gardener_id"": ""D"",
      ""effort_cost"": 20.0
    },
    {
      ""plot_id"": ""F1"",
      ""gardener_id"": ""E"",
      ""effort_cost"": 712.0
    },
    {
      ""plot_id"": ""F1"",
      ""gardener_id"": ""F"",
      ""effort_cost"": 191.0
    },
    {
      ""plot_id"": ""F1"",
      ""gardener_id"": ""G"",
      ""effort_cost"": 110.0
    },
    {
      ""plot_id"": ""F1"",
      ""gardener_id"": ""H"",
      ""effort_cost"": 382.0
    },
    {
      ""plot_id"": ""F2"",
      ""gardener_id"": ""A"",
      ""effort_cost"": 464.0
    },
    {
      ""plot_id"": ""F2"",
      ""gardener_id"": ""B"",
      ""effort_cost"": 564.0
    },
    {
      ""plot_id"": ""F2"",
      ""gardener_id"": ""C"",
      ""effort_cost"": 349.0
    },
    {
      ""plot_id"": ""F2"",
      ""gardener_id"": ""D"",
      ""effort_cost"": 90.0
    },
    {
      ""plot_id"": ""F2"",
      ""gardener_id"": ""E"",
      ""effort_cost"": 1101.0
    },
    {
      ""plot_id"": ""F2"",
      ""gardener_id"": ""F"",
      ""effort_cost"": 23.0
    },
    {
      ""plot_id"": ""F2"",
      ""gardener_id"": ""G"",
      ""effort_cost"": 177.0
    },
    {
      ""plot_id"": ""F2"",
      ""gardener_id"": ""H"",
      ""effort_cost"": 703.0
    },
    {
      ""plot_id"": ""F3"",
      ""gardener_id"": ""A"",
      ""effort_cost"": 1663.0
    },
    {
      ""plot_id"": ""F3"",
      ""gardener_id"": ""B"",
      ""effort_cost"": 1904.0
    },
    {
      ""plot_id"": ""F3"",
      ""gardener_id"": ""C"",
      ""effort_cost"": 114.0
    },
    {
      ""plot_id"": ""F3"",
      ""gardener_id"": ""D"",
      ""effort_cost"": 595.0
    },
    {
      ""plot_id"": ""F3"",
      ""gardener_id"": ""E"",
      ""effort_cost"": 1343.0
    },
    {
      ""plot_id"": ""F3"",
      ""gardener_id"": ""F"",
      ""effort_cost"": 1367.0
    },
    {
      ""plot_id"": ""F3"",
      ""gardener_id"": ""G"",
      ""effort_cost"": 68.0
    },
    {
      ""plot_id"": ""F3"",
      ""gardener_id"": ""H"",
      ""effort_cost"": 933.0
    },
    {
      ""plot_id"": ""F4"",
      ""gardener_id"": ""A"",
      ""effort_cost"": 590.0
    },
    {
      ""plot_id"": ""F4"",
      ""gardener_id"": ""B"",
      ""effort_cost"": 790.0
    },
    {
      ""plot_id"": ""F4"",
      ""gardener_id"": ""C"",
      ""effort_cost"": 279.0
    },
    {
      ""plot_id"": ""F4"",
      ""gardener_id"": ""D"",
      ""effort_cost"": 36.0
    },
    {
      ""plot_id"": ""F4"",
      ""gardener_id"": ""E"",
      ""effort_cost"": 1055.0
    },
    {
      ""plot_id"": ""F4"",
      ""gardener_id"": ""F"",
      ""effort_cost"": 247.0
    },
    {
      ""plot_id"": ""F4"",
      ""gardener_id"": ""G"",
      ""effort_cost"": 137.0
    },
    {
      ""plot_id"": ""F4"",
      ""gardener_id"": ""H"",
      ""effort_cost"": 636.0
    }
  ]
}

Also, when you reply, please follow this little JSON layout so I can read your choices easily β€” nothing fancy, just a tiny form I can parse:

{
  ""solution"": {
    ""selected"": [<plot_to_open>, <plot_to_open>, ...],
    ""assignments"": [<chosen_plot>, <chosen_plot>, ...]
  }
}

Think of ""selected"" as the list of garden plots you decide to unlock (one entry per unlocked plot), and ""assignments"" as the single unlocked plot each gardener will be sent to (the i-th entry in that list matches the i-th gardener in the instance). This block is just a sketch of the shape I need, not the actual final answer.

Please be careful to use the exact identifiers from the instance input β€” do not rename them or invent new ones. For example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [300.0, 300.0, 300.0, 300.0], 'capacities': [300.0, 300.0, 300.0, 300.0], 'connection_costs': [[50.0, 50.0, 198.0, 20.0, 712.0, 191.0, 110.0, 382.0], [464.0, 564.0, 349.0, 90.0, 1101.0, 23.0, 177.0, 703.0], [1663.0, 1904.0, 114.0, 595.0, 1343.0, 1367.0, 68.0, 933.0], [590.0, 790.0, 279.0, 36.0, 1055.0, 247.0, 137.0, 636.0]], 'demands': [19.0, 25.0, 23.0, 10.0, 27.0, 11.0, 29.0, 23.0], 'objective': 2013.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0, 0, 0, 0]}",2013.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 8, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 300.0}, {'id': 'F3', 'opening_cost': 300.0, 'capacity': 300.0}, {'id': 'F4', 'opening_cost': 300.0, 'capacity': 300.0}], 'customers': [{'id': 'A', 'demand': 19.0}, {'id': 'B', 'demand': 25.0}, {'id': 'C', 'demand': 23.0}, {'id': 'D', 'demand': 10.0}, {'id': 'E', 'demand': 27.0}, {'id': 'F', 'demand': 11.0}, {'id': 'G', 'demand': 29.0}, {'id': 'H', 'demand': 23.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 50.0}, {'facility': 'F1', 'customer': 'B', 'cost': 50.0}, {'facility': 'F1', 'customer': 'C', 'cost': 198.0}, {'facility': 'F1', 'customer': 'D', 'cost': 20.0}, {'facility': 'F1', 'customer': 'E', 'cost': 712.0}, {'facility': 'F1', 'customer': 'F', 'cost': 191.0}, {'facility': 'F1', 'customer': 'G', 'cost': 110.0}, {'facility': 'F1', 'customer': 'H', 'cost': 382.0}, {'facility': 'F2', 'customer': 'A', 'cost': 464.0}, {'facility': 'F2', 'customer': 'B', 'cost': 564.0}, {'facility': 'F2', 'customer': 'C', 'cost': 349.0}, {'facility': 'F2', 'customer': 'D', 'cost': 90.0}, {'facility': 'F2', 'customer': 'E', 'cost': 1101.0}, {'facility': 'F2', 'customer': 'F', 'cost': 23.0}, {'facility': 'F2', 'customer': 'G', 'cost': 177.0}, {'facility': 'F2', 'customer': 'H', 'cost': 703.0}, {'facility': 'F3', 'customer': 'A', 'cost': 1663.0}, {'facility': 'F3', 'customer': 'B', 'cost': 1904.0}, {'facility': 'F3', 'customer': 'C', 'cost': 114.0}, {'facility': 'F3', 'customer': 'D', 'cost': 595.0}, {'facility': 'F3', 'customer': 'E', 'cost': 1343.0}, {'facility': 'F3', 'customer': 'F', 'cost': 1367.0}, {'facility': 'F3', 'customer': 'G', 'cost': 68.0}, {'facility': 'F3', 'customer': 'H', 'cost': 933.0}, {'facility': 'F4', 'customer': 'A', 'cost': 590.0}, {'facility': 'F4', 'customer': 'B', 'cost': 790.0}, {'facility': 'F4', 'customer': 'C', 'cost': 279.0}, {'facility': 'F4', 'customer': 'D', 'cost': 36.0}, {'facility': 'F4', 'customer': 'E', 'cost': 1055.0}, {'facility': 'F4', 'customer': 'F', 'cost': 247.0}, {'facility': 'F4', 'customer': 'G', 'cost': 137.0}, {'facility': 'F4', 'customer': 'H', 'cost': 636.0}], 'objective': 2013.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1']}",44,json,names
CFLP,CFLP,"Many people don’t see how much thought goes into placing service vans: pick which vans to put into service, then give each service visit to exactly one of those vans, making sure no van is asked to do more than it can. Each van has a cost to deploy and a cap on workload, and every client visit costs travel money. The goal is the plan with the lowest total expense β€” simply add up the deployment costs for the vans used and the travel costs for all visits β€” while covering every request once and not overloading any van. The specific instance information is listed below.

# num_vans=2
# num_requests=5
# VANS
van_id,deployment_cost,van_capacity
F1,400.0,500.0
F2,400.0,500.0
# REQUESTS
request_id,service_demand
A,17.0
B,17.0
C,18.0
D,24.0
E,13.0
# TRAVELS
van_id,request_id,travel_cost
F1,A,301.0
F1,B,102.0
F1,C,38.0
F1,D,506.0
F1,E,58.0
F2,A,34.0
F2,B,697.0
F2,C,62.0
F2,D,143.0
F2,E,162.0

You can just hand the plan back to me in a small JSON snippet like this β€” I find it the easiest way to keep things straight.

{
  ""solution"": {
    ""selected"": [<van_to_deploy>, <van_to_deploy>, ...],
    ""assignments"": [<assigned_van>, <assigned_van>, ...]
  }
}

""selected"" is the list of vans you decide to put into service (one entry per van). ""assignments"" is the list of which van handles each client visit (one entry per client, in the same order as the client list). Think of it like a simple form: pick the vans you open, then for each visit say which opened van covers it.

This JSON is just a sketch of the shape I expect, not the final plan itself. Please use the exact identifiers from the instance input when you fill it in β€” do not rename them or invent new labels. Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [400.0, 400.0], 'capacities': [500.0, 500.0], 'connection_costs': [[301.0, 102.0, 38.0, 506.0, 58.0], [34.0, 697.0, 62.0, 143.0, 162.0]], 'demands': [17.0, 17.0, 18.0, 24.0, 13.0], 'objective': 1175.0}","{'open_facilities': [0, 1], 'assignments': [1, 0, 0, 1, 0]}",1175.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 17.0}, {'id': 'B', 'demand': 17.0}, {'id': 'C', 'demand': 18.0}, {'id': 'D', 'demand': 24.0}, {'id': 'E', 'demand': 13.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 301.0}, {'facility': 'F1', 'customer': 'B', 'cost': 102.0}, {'facility': 'F1', 'customer': 'C', 'cost': 38.0}, {'facility': 'F1', 'customer': 'D', 'cost': 506.0}, {'facility': 'F1', 'customer': 'E', 'cost': 58.0}, {'facility': 'F2', 'customer': 'A', 'cost': 34.0}, {'facility': 'F2', 'customer': 'B', 'cost': 697.0}, {'facility': 'F2', 'customer': 'C', 'cost': 62.0}, {'facility': 'F2', 'customer': 'D', 'cost': 143.0}, {'facility': 'F2', 'customer': 'E', 'cost': 162.0}], 'objective': 1175.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F1', 'F1', 'F2', 'F1']}",45,csv,names
CFLP,CFLP,"At the planning meeting the task was explained plainly: decide which local switching offices to switch on and make sure every subscriber is assigned to one and only one of the switched-on offices, with no office taking more subscribers than its capacity allows. Turning on an office costs money, and linking each subscriber to a particular office has its own cost, so the total cost for any plan is just the sum of the activation charges for opened offices plus all subscriber connection costs β€” the plan should minimize that total. The specific numbers for this instance are provided below.

# num_switching_offices=4
# num_subscribers=8
# OFFICES
office_id,activation_cost,office_capacity
F1,400.0,500.0
F2,400.0,500.0
F3,400.0,500.0
F4,400.0,500.0
# SUBSCRIBERS
subscriber_id,subscriber_demand
A,11.0
B,10.0
C,17.0
D,50.0
E,44.0
F,33.0
G,34.0
H,34.0
# CONNECTIONS
office_id,subscriber_id,connection_cost
F1,A,485.0
F1,B,601.0
F1,C,291.0
F1,D,380.0
F1,E,719.0
F1,F,562.0
F1,G,444.0
F1,H,152.0
F2,A,321.0
F2,B,437.0
F2,C,248.0
F2,D,221.0
F2,E,594.0
F2,F,480.0
F2,G,366.0
F2,H,29.0
F3,A,464.0
F3,B,525.0
F3,C,30.0
F3,D,314.0
F3,E,470.0
F3,F,270.0
F3,G,158.0
F3,H,247.0
F4,A,345.0
F4,B,382.0
F4,C,135.0
F4,D,201.0
F4,E,340.0
F4,F,204.0
F4,G,100.0
F4,H,263.0

Oh, and just so you know how I’d like the answer returned, a handy little JSON sketch is what I’m expecting β€” nothing fancy, just the shape of the response so it’s easy to check and parse.

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<subscriber_chosen_site>, <subscriber_chosen_site>, ...]
  }
}

Pretty simple: ""selected"" lists the offices you decide to switch on (their IDs), and ""assignments"" lists, in order, which switched-on office each subscriber is assigned to (by that office’s ID). Think of it like filling out a form: one line for which offices are active, another line saying who connects to which active office.

This JSON is just a sketch of the expected shape β€” not the actual final plan.

Please use the exact identifiers from the instance input: no renaming and no new labels. Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [400.0, 400.0, 400.0, 400.0], 'capacities': [500.0, 500.0, 500.0, 500.0], 'connection_costs': [[485.0, 601.0, 291.0, 380.0, 719.0, 562.0, 444.0, 152.0], [321.0, 437.0, 248.0, 221.0, 594.0, 480.0, 366.0, 29.0], [464.0, 525.0, 30.0, 314.0, 470.0, 270.0, 158.0, 247.0], [345.0, 382.0, 135.0, 201.0, 340.0, 204.0, 100.0, 263.0]], 'demands': [11.0, 10.0, 17.0, 50.0, 44.0, 33.0, 34.0, 34.0], 'objective': 2370.0}","{'open_facilities': [3], 'assignments': [3, 3, 3, 3, 3, 3, 3, 3]}",2370.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 8, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 11.0}, {'id': 'B', 'demand': 10.0}, {'id': 'C', 'demand': 17.0}, {'id': 'D', 'demand': 50.0}, {'id': 'E', 'demand': 44.0}, {'id': 'F', 'demand': 33.0}, {'id': 'G', 'demand': 34.0}, {'id': 'H', 'demand': 34.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 485.0}, {'facility': 'F1', 'customer': 'B', 'cost': 601.0}, {'facility': 'F1', 'customer': 'C', 'cost': 291.0}, {'facility': 'F1', 'customer': 'D', 'cost': 380.0}, {'facility': 'F1', 'customer': 'E', 'cost': 719.0}, {'facility': 'F1', 'customer': 'F', 'cost': 562.0}, {'facility': 'F1', 'customer': 'G', 'cost': 444.0}, {'facility': 'F1', 'customer': 'H', 'cost': 152.0}, {'facility': 'F2', 'customer': 'A', 'cost': 321.0}, {'facility': 'F2', 'customer': 'B', 'cost': 437.0}, {'facility': 'F2', 'customer': 'C', 'cost': 248.0}, {'facility': 'F2', 'customer': 'D', 'cost': 221.0}, {'facility': 'F2', 'customer': 'E', 'cost': 594.0}, {'facility': 'F2', 'customer': 'F', 'cost': 480.0}, {'facility': 'F2', 'customer': 'G', 'cost': 366.0}, {'facility': 'F2', 'customer': 'H', 'cost': 29.0}, {'facility': 'F3', 'customer': 'A', 'cost': 464.0}, {'facility': 'F3', 'customer': 'B', 'cost': 525.0}, {'facility': 'F3', 'customer': 'C', 'cost': 30.0}, {'facility': 'F3', 'customer': 'D', 'cost': 314.0}, {'facility': 'F3', 'customer': 'E', 'cost': 470.0}, {'facility': 'F3', 'customer': 'F', 'cost': 270.0}, {'facility': 'F3', 'customer': 'G', 'cost': 158.0}, {'facility': 'F3', 'customer': 'H', 'cost': 247.0}, {'facility': 'F4', 'customer': 'A', 'cost': 345.0}, {'facility': 'F4', 'customer': 'B', 'cost': 382.0}, {'facility': 'F4', 'customer': 'C', 'cost': 135.0}, {'facility': 'F4', 'customer': 'D', 'cost': 201.0}, {'facility': 'F4', 'customer': 'E', 'cost': 340.0}, {'facility': 'F4', 'customer': 'F', 'cost': 204.0}, {'facility': 'F4', 'customer': 'G', 'cost': 100.0}, {'facility': 'F4', 'customer': 'H', 'cost': 263.0}], 'objective': 2370.0}","{'selected': ['F4'], 'assignments': ['F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'F4']}",46,csv,names
CFLP,CFLP,"Many people are coordinating a distribution effort, and the basic question is which service centers to activate and how to assign each beneficiary to one active center without exceeding any center’s capacity. The sensible outcome is the one with the lowest combined expense β€” the total you get when you add the opening fees for the centers in use to all the individual serving costs. Numbers and specifics come right below.

# num_centers=2
# num_beneficiaries=5
# CENTERS
center_id,center_opening_cost,center_capacity
F1,300.0,700.0
F2,300.0,700.0
# BENEFICIARYS
beneficiary_id,beneficiary_need
A,20.0
B,22.0
C,19.0
D,19.0
E,27.0
# SERVICES
center_id,beneficiary_id,service_cost
F1,A,74.0
F1,B,49.0
F1,C,142.0
F1,D,217.0
F1,E,156.0
F2,A,347.0
F2,B,815.0
F2,C,455.0
F2,D,711.0
F2,E,1153.0

When you're ready to send back the decisions, just stick to this simple JSON shape so it's easy to read and check:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
  }
}

""selected"" is the list of centers you'll activate. ""assignments"" is the chosen active center for each beneficiary (one entry per beneficiary, in the same order as the input). Think of it like filling out a short form: which sites are on, and for each person, which open site they're assigned to.

This is just a sketch of the expected shape, not the actual answer.

Please use the exact identifiers from the instance input β€” don't rename them and don't invent new labels. Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [300.0, 300.0], 'capacities': [700.0, 700.0], 'connection_costs': [[74.0, 49.0, 142.0, 217.0, 156.0], [347.0, 815.0, 455.0, 711.0, 1153.0]], 'demands': [20.0, 22.0, 19.0, 19.0, 27.0], 'objective': 938.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",938.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 700.0}], 'customers': [{'id': 'A', 'demand': 20.0}, {'id': 'B', 'demand': 22.0}, {'id': 'C', 'demand': 19.0}, {'id': 'D', 'demand': 19.0}, {'id': 'E', 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 74.0}, {'facility': 'F1', 'customer': 'B', 'cost': 49.0}, {'facility': 'F1', 'customer': 'C', 'cost': 142.0}, {'facility': 'F1', 'customer': 'D', 'cost': 217.0}, {'facility': 'F1', 'customer': 'E', 'cost': 156.0}, {'facility': 'F2', 'customer': 'A', 'cost': 347.0}, {'facility': 'F2', 'customer': 'B', 'cost': 815.0}, {'facility': 'F2', 'customer': 'C', 'cost': 455.0}, {'facility': 'F2', 'customer': 'D', 'cost': 711.0}, {'facility': 'F2', 'customer': 'E', 'cost': 1153.0}], 'objective': 938.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",47,csv,names
CFLP,CFLP,"At the dorm office the decision is to keep some laundry rooms open and close others, then assign each dormitory to exactly one of the rooms that remain open. Each machine room has a finite capacity, so assignments must fit within those limits. The way to judge plans is straightforward: total cost β€” tally up the operating costs for the chosen laundry rooms plus the travel or usage cost for every dorm’s assignment, and prefer the arrangement with the lowest combined total. No dorm can be left out or sent to more than one place. The particular figures are shown below.

# num_laundry_rooms=3
# num_dormitories=7
# LAUNDRY_ROOMS
laundry_room_id,operating_cost,laundry_capacity
F1,400.0,700.0
F2,400.0,700.0
F3,400.0,700.0
# DORMS
dorm_id,dorm_demand
1,15.0
2,16.0
3,12.0
4,27.0
5,23.0
6,11.0
7,23.0
# ASSIGNMENTS
laundry_room_id,dorm_id,assignment_cost
F1,1,72.0
F1,2,408.0
F1,3,266.0
F1,4,551.0
F1,5,474.0
F1,6,459.0
F1,7,156.0
F2,1,339.0
F2,2,80.0
F2,3,31.0
F2,4,176.0
F2,5,136.0
F2,6,86.0
F2,7,611.0
F3,1,69.0
F3,2,901.0
F3,3,817.0
F3,4,1064.0
F3,5,946.0
F3,6,1002.0
F3,7,147.0

If you want to send back a plan, just stick to this simple JSON shape so I can read it easily.

{
  ""solution"": {
    ""selected"": [<room_to_open>, <room_to_open>, ...],
    ""assignments"": [<chosen_open_room>, <chosen_open_room>, ...]
  }
}

Think of ""selected"" as the list of laundry rooms you decide to keep running, and ""assignments"" as, for each dorm in the same order they were given, which open room that dorm will use. This is just a sketch of the expected shape β€” not the actual answer.

Please make sure to use the exact identifiers from the instance input (do not rename them or invent new ones).
- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”"".","{'opening_costs': [400.0, 400.0, 400.0], 'capacities': [700.0, 700.0, 700.0], 'connection_costs': [[72.0, 408.0, 266.0, 551.0, 474.0, 459.0, 156.0], [339.0, 80.0, 31.0, 176.0, 136.0, 86.0, 611.0], [69.0, 901.0, 817.0, 1064.0, 946.0, 1002.0, 147.0]], 'demands': [15.0, 16.0, 12.0, 27.0, 23.0, 11.0, 23.0], 'objective': 1525.0}","{'open_facilities': [1, 2], 'assignments': [2, 1, 1, 1, 1, 1, 2]}",1525.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 700.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 700.0}], 'customers': [{'id': 1, 'demand': 15.0}, {'id': 2, 'demand': 16.0}, {'id': 3, 'demand': 12.0}, {'id': 4, 'demand': 27.0}, {'id': 5, 'demand': 23.0}, {'id': 6, 'demand': 11.0}, {'id': 7, 'demand': 23.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 72.0}, {'facility': 'F1', 'customer': 2, 'cost': 408.0}, {'facility': 'F1', 'customer': 3, 'cost': 266.0}, {'facility': 'F1', 'customer': 4, 'cost': 551.0}, {'facility': 'F1', 'customer': 5, 'cost': 474.0}, {'facility': 'F1', 'customer': 6, 'cost': 459.0}, {'facility': 'F1', 'customer': 7, 'cost': 156.0}, {'facility': 'F2', 'customer': 1, 'cost': 339.0}, {'facility': 'F2', 'customer': 2, 'cost': 80.0}, {'facility': 'F2', 'customer': 3, 'cost': 31.0}, {'facility': 'F2', 'customer': 4, 'cost': 176.0}, {'facility': 'F2', 'customer': 5, 'cost': 136.0}, {'facility': 'F2', 'customer': 6, 'cost': 86.0}, {'facility': 'F2', 'customer': 7, 'cost': 611.0}, {'facility': 'F3', 'customer': 1, 'cost': 69.0}, {'facility': 'F3', 'customer': 2, 'cost': 901.0}, {'facility': 'F3', 'customer': 3, 'cost': 817.0}, {'facility': 'F3', 'customer': 4, 'cost': 1064.0}, {'facility': 'F3', 'customer': 5, 'cost': 946.0}, {'facility': 'F3', 'customer': 6, 'cost': 1002.0}, {'facility': 'F3', 'customer': 7, 'cost': 147.0}], 'objective': 1525.0}","{'selected': ['F2', 'F3'], 'assignments': ['F3', 'F2', 'F2', 'F2', 'F2', 'F2', 'F3']}",48,csv,1
CFLP,CFLP,"We’re playing the role of a planning team deciding which local library sites to activate and how to send each neighborhood to a single branch. Opening a site costs money and each one can only handle so many people; sending a neighborhood to a branch adds a travel cost. The score for any arrangement is simply the sum of the opening costs and all the travel costs, and the aim is to keep that sum as small as we can while making sure every neighborhood is served by exactly one open branch and no branch is overloaded. The specific numbers will be listed below.

There are 3 branchs and 7 neighborhoods in this instance.

**Branchs**
| branch_id | branch_opening_cost | branch_capacity |
|---|---|---|
| F1 | 400.0 | 1500.0 |
| F2 | 400.0 | 1500.0 |
| F3 | 400.0 | 1500.0 |

**Neighborhoods**
| neighborhood_id | neighborhood_patrons |
|---|---|
| 0 | 11.0 |
| 1 | 17.0 |
| 2 | 50.0 |
| 3 | 44.0 |
| 4 | 25.0 |
| 5 | 32.0 |
| 6 | 26.0 |

**Travel Cost**
| branch_id | neighborhood_id | travel_cost |
|---|---|---|
| F1 | 0 | 417.0 |
| F1 | 1 | 149.0 |
| F1 | 2 | 128.0 |
| F1 | 3 | 400.0 |
| F1 | 4 | 273.0 |
| F1 | 5 | 645.0 |
| F1 | 6 | 596.0 |
| F2 | 0 | 285.0 |
| F2 | 1 | 511.0 |
| F2 | 2 | 473.0 |
| F2 | 3 | 555.0 |
| F2 | 4 | 88.0 |
| F2 | 5 | 877.0 |
| F2 | 6 | 561.0 |
| F3 | 0 | 593.0 |
| F3 | 1 | 229.0 |
| F3 | 2 | 213.0 |
| F3 | 3 | 326.0 |
| F3 | 4 | 585.0 |
| F3 | 5 | 372.0 |
| F3 | 6 | 623.0 |

Also, when you send back a plan, use this simple JSON layout so everything’s easy to read and check:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
  }
}

""selected"" is just the list of library sites we choose to open. ""assignments"" lists, in the same order as the neighborhoods appear in the instance, which open site each neighborhood goes to. Think of it like a short form: which branches we flip on, and for each neighborhood which branch it uses.

This JSON is only a sketch of the shape I need β€” not the filled-in answer yet. Please make sure to use the exact identifiers from the instance input; do not rename or invent new labels. 
- For example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [400.0, 400.0, 400.0], 'capacities': [1500.0, 1500.0, 1500.0], 'connection_costs': [[417.0, 149.0, 128.0, 400.0, 273.0, 645.0, 596.0], [285.0, 511.0, 473.0, 555.0, 88.0, 877.0, 561.0], [593.0, 229.0, 213.0, 326.0, 585.0, 372.0, 623.0]], 'demands': [11.0, 17.0, 50.0, 44.0, 25.0, 32.0, 26.0], 'objective': 2874.0}","{'open_facilities': [1, 2], 'assignments': [1, 2, 2, 2, 1, 2, 1]}",2874.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 1500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 1500.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 1500.0}], 'customers': [{'id': 0, 'demand': 11.0}, {'id': 1, 'demand': 17.0}, {'id': 2, 'demand': 50.0}, {'id': 3, 'demand': 44.0}, {'id': 4, 'demand': 25.0}, {'id': 5, 'demand': 32.0}, {'id': 6, 'demand': 26.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 417.0}, {'facility': 'F1', 'customer': 1, 'cost': 149.0}, {'facility': 'F1', 'customer': 2, 'cost': 128.0}, {'facility': 'F1', 'customer': 3, 'cost': 400.0}, {'facility': 'F1', 'customer': 4, 'cost': 273.0}, {'facility': 'F1', 'customer': 5, 'cost': 645.0}, {'facility': 'F1', 'customer': 6, 'cost': 596.0}, {'facility': 'F2', 'customer': 0, 'cost': 285.0}, {'facility': 'F2', 'customer': 1, 'cost': 511.0}, {'facility': 'F2', 'customer': 2, 'cost': 473.0}, {'facility': 'F2', 'customer': 3, 'cost': 555.0}, {'facility': 'F2', 'customer': 4, 'cost': 88.0}, {'facility': 'F2', 'customer': 5, 'cost': 877.0}, {'facility': 'F2', 'customer': 6, 'cost': 561.0}, {'facility': 'F3', 'customer': 0, 'cost': 593.0}, {'facility': 'F3', 'customer': 1, 'cost': 229.0}, {'facility': 'F3', 'customer': 2, 'cost': 213.0}, {'facility': 'F3', 'customer': 3, 'cost': 326.0}, {'facility': 'F3', 'customer': 4, 'cost': 585.0}, {'facility': 'F3', 'customer': 5, 'cost': 372.0}, {'facility': 'F3', 'customer': 6, 'cost': 623.0}], 'objective': 2874.0}","{'selected': ['F2', 'F3'], 'assignments': ['F2', 'F3', 'F3', 'F3', 'F2', 'F3', 'F2']}",49,markdown_table,0
CFLP,CFLP,"Picture this: a grocery chain choosing which branches to run for the season and then lining up every household to a single running branch. Each branch that’s kept open comes with an opening expense, and serving each household from a branch adds a travel or delivery cost β€” so the sensible thing is to pick stores and assignments that make the total bill (opening fees plus all travel costs) as small as possible. At the same time, every household must be assigned to one branch only, and no branch can exceed its stocking capacity. The exact store choices and household details appear below.

There are 4 stores and 8 households in this instance.

**Stores**
| store_id | store_opening_cost | stocking_capacity |
|---|---|---|
| F1 | 225.0 | 504.0 |
| F2 | 310.0 | 580.0 |
| F3 | 179.0 | 549.0 |
| F4 | 321.0 | 316.0 |

**Households**
| household_id | household_demand |
|---|---|
| A | 40.0 |
| B | 18.0 |
| C | 13.0 |
| D | 31.0 |
| E | 33.0 |
| F | 26.0 |
| G | 20.0 |
| H | 27.0 |

**Travel Cost**
| store_id | household_id | travel_cost |
|---|---|---|
| F1 | A | 474.0 |
| F1 | B | 179.0 |
| F1 | C | 603.0 |
| F1 | D | 451.0 |
| F1 | E | 428.0 |
| F1 | F | 451.0 |
| F1 | G | 241.0 |
| F1 | H | 414.0 |
| F2 | A | 349.0 |
| F2 | B | 694.0 |
| F2 | C | 73.0 |
| F2 | D | 576.0 |
| F2 | E | 108.0 |
| F2 | F | 256.0 |
| F2 | G | 432.0 |
| F2 | H | 235.0 |
| F3 | A | 540.0 |
| F3 | B | 850.0 |
| F3 | C | 186.0 |
| F3 | D | 587.0 |
| F3 | E | 274.0 |
| F3 | F | 276.0 |
| F3 | G | 518.0 |
| F3 | H | 428.0 |
| F4 | A | 240.0 |
| F4 | B | 746.0 |
| F4 | C | 183.0 |
| F4 | D | 774.0 |
| F4 | E | 268.0 |
| F4 | F | 467.0 |
| F4 | G | 595.0 |
| F4 | H | 213.0 |

Also, when you send back your pick and the household line-up, please follow this simple JSON layout so it's easy to read and check:

{
  ""solution"": {
    ""selected"": [<site_to_open>, <site_to_open>, ...],
    ""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
  }
}

Think of ""selected"" as the list of branches you decide to keep open, and ""assignments"" as the list that, in order, tells which open branch each household is assigned to (one entry per household). Super informal sketch β€” it's just the shape I need, not the real answer itself.

Please use the exact identifiers from the instance input β€” no renaming, no made-up labels. 
- for example: ""Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [225.0, 310.0, 179.0, 321.0], 'capacities': [504.0, 580.0, 549.0, 316.0], 'connection_costs': [[474.0, 179.0, 603.0, 451.0, 428.0, 451.0, 241.0, 414.0], [349.0, 694.0, 73.0, 576.0, 108.0, 256.0, 432.0, 235.0], [540.0, 850.0, 186.0, 587.0, 274.0, 276.0, 518.0, 428.0], [240.0, 746.0, 183.0, 774.0, 268.0, 467.0, 595.0, 213.0]], 'demands': [40.0, 18.0, 13.0, 31.0, 33.0, 26.0, 20.0, 27.0], 'objective': 2427.0}","{'open_facilities': [0, 1], 'assignments': [1, 0, 1, 0, 1, 1, 0, 1]}",2427.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 8, 'facilities': [{'id': 'F1', 'opening_cost': 225.0, 'capacity': 504.0}, {'id': 'F2', 'opening_cost': 310.0, 'capacity': 580.0}, {'id': 'F3', 'opening_cost': 179.0, 'capacity': 549.0}, {'id': 'F4', 'opening_cost': 321.0, 'capacity': 316.0}], 'customers': [{'id': 'A', 'demand': 40.0}, {'id': 'B', 'demand': 18.0}, {'id': 'C', 'demand': 13.0}, {'id': 'D', 'demand': 31.0}, {'id': 'E', 'demand': 33.0}, {'id': 'F', 'demand': 26.0}, {'id': 'G', 'demand': 20.0}, {'id': 'H', 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 474.0}, {'facility': 'F1', 'customer': 'B', 'cost': 179.0}, {'facility': 'F1', 'customer': 'C', 'cost': 603.0}, {'facility': 'F1', 'customer': 'D', 'cost': 451.0}, {'facility': 'F1', 'customer': 'E', 'cost': 428.0}, {'facility': 'F1', 'customer': 'F', 'cost': 451.0}, {'facility': 'F1', 'customer': 'G', 'cost': 241.0}, {'facility': 'F1', 'customer': 'H', 'cost': 414.0}, {'facility': 'F2', 'customer': 'A', 'cost': 349.0}, {'facility': 'F2', 'customer': 'B', 'cost': 694.0}, {'facility': 'F2', 'customer': 'C', 'cost': 73.0}, {'facility': 'F2', 'customer': 'D', 'cost': 576.0}, {'facility': 'F2', 'customer': 'E', 'cost': 108.0}, {'facility': 'F2', 'customer': 'F', 'cost': 256.0}, {'facility': 'F2', 'customer': 'G', 'cost': 432.0}, {'facility': 'F2', 'customer': 'H', 'cost': 235.0}, {'facility': 'F3', 'customer': 'A', 'cost': 540.0}, {'facility': 'F3', 'customer': 'B', 'cost': 850.0}, {'facility': 'F3', 'customer': 'C', 'cost': 186.0}, {'facility': 'F3', 'customer': 'D', 'cost': 587.0}, {'facility': 'F3', 'customer': 'E', 'cost': 274.0}, {'facility': 'F3', 'customer': 'F', 'cost': 276.0}, {'facility': 'F3', 'customer': 'G', 'cost': 518.0}, {'facility': 'F3', 'customer': 'H', 'cost': 428.0}, {'facility': 'F4', 'customer': 'A', 'cost': 240.0}, {'facility': 'F4', 'customer': 'B', 'cost': 746.0}, {'facility': 'F4', 'customer': 'C', 'cost': 183.0}, {'facility': 'F4', 'customer': 'D', 'cost': 774.0}, {'facility': 'F4', 'customer': 'E', 'cost': 268.0}, {'facility': 'F4', 'customer': 'F', 'cost': 467.0}, {'facility': 'F4', 'customer': 'G', 'cost': 595.0}, {'facility': 'F4', 'customer': 'H', 'cost': 213.0}], 'objective': 2427.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F1', 'F2', 'F1', 'F2', 'F2', 'F1', 'F2']}",50,markdown_table,names