0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
2
2
2
2
2
2
2
2
4
4
4
5
6
6
6
10
12
14
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
20
20
20
20
20
21
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
24
24
24
24
24
24
24
24
24
24
24
26
28
29
31
32
33
33
35
36
37
37
38
38
38
40
43
46
49
49
50
50
50
50
52
54
56
60
62
67
68
73
75
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
81
81
82
82
83
83
83
83
84
84
84
84
85
85
85
85
85
85
85
86
87
88
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
90
90
90
90
90
90
90
90
91
91
91
91
91
91
92
93
94
94
94
94
94
94
96
99
102
102
102
105
108
111
112
115
116
118
120
121
122
124
127
128
129
129
130
131
132
132
132
132
132
133
134
135
136
137
137
138
139
139
139
139
139
139
139
139
139
139
139
139
139
139
140
141
141
141
141
141
141
141
141
141
141
143
143
143
144
145
145
145
148
149
150
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
152
152
152
152
152
152
152
152
153
153
153
153
153
153
153
153
153
153
153
153
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
155
156
156
156
156
156
157
158
158
159
159
159
160
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
162
163
164
165
165
165
165
165
165
165
165
165
166
166
168
170
172
174
174
174
174
176
177
178
178
180
180
180
182
185
188
191
191
192
192
192
194
197
198
199
201
202
204
206
209
210
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
213
214
215
215
215
216
216
217
217
218
218
218
218
219
219
219
220
221
222
223
223
223
223
223
224
224
225
226
226
226
226
226
226
226
226
226
226
226
226
226
226
227
228
228
228
228
228
228
228
228
228
228
228
228
229
229
229
229
229
230
231
232
233
233
233
233
233
234
236
239
242
242
244
247
249
252
254
257
258
260
263
265
269
272
275
279
280
280
281
282
283
283
283
284
284
285
286
287
288
289
289
290
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
292
292
292
292
292
292
293
294
294
294
294
294
294
294
294
294
294
295
295
295
295
295
295
295
295
295
295
295
295
295
295
296
297
298
299
299
299
300
301
302
303
303
304
304
304
305
306
306
307
308
309
310
311
312
313
313
313
314
315
315
315
315
315
315
315
315
315
315
315
315
315
315
315
316
316
317
318
318
319
320
321
322
323
323
323
324
326
327
328
331
333
335
337
338
340
341
342
342
342
342
342
342
342
342
343
344
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
346
346
346
347
347
347
347
348
348
348
348
348
348
348
349
349
350
351
351
351
351
351
351
351
352
353
353
353
354
354
354
354
354
354
354
354
355
355
355
356
357
358
359
359
359
360
361
361
361
362
363
364
364
364
365
366
367
368
368
369
370
371
371
371
372
373
374
375
376
377
378
379
380
381
382
383
383
384
385
386
386
386
387
388
389
390
391
392
393
393
394
397
400
403
405
406
408
411
414
419
420
423
426
427
432
437
442
445
450
451
451
452
453
454
454
455
456
457
458
459
460
461
462
463
464
465
