0
0
0
0
0
0
0
0
1
2
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
6
6
6
9
11
11
11
16
21
24
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
34
35
35
35
35
35
35
36
37
38
38
38
38
38
38
38
38
38
38
38
38
38
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
42
42
42
42
42
42
42
42
42
42
43
43
44
44
45
46
47
47
49
49
51
51
54
59
62
62
65
70
73
73
73
74
74
74
78
83
86
89
93
97
100
100
101
102
102
105
110
115
118
127
136
145
154
163
166
175
175
175
175
175
175
175
175
175
175
175
175
175
176
177
177
178
178
178
178
178
178
178
178
178
178
178
178
179
179
179
180
181
181
181
181
182
182
182
182
182
182
182
182
183
183
183
183
183
183
183
183
183
184
184
184
185
186
186
186
186
187
187
187
187
187
187
187
187
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
189
189
189
189
189
189
189
190
190
190
190
190
191
191
192
193
193
193
193
193
193
193
193
193
193
194
194
194
194
194
194
199
204
209
209
213
216
220
223
223
227
230
231
236
241
244
248
249
254
256
256
257
257
258
258
258
258
258
258
259
260
261
262
262
262
262
263
264
265
265
265
265
265
265
265
265
266
267
268
268
268
268
268
268
268
268
268
268
268
268
269
269
269
271
271
271
274
276
276
276
281
284
287
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
297
297
297
297
297
297
297
298
299
300
301
301
301
301
301
301
302
303
304
304
304
304
304
304
304
304
304
304
304
304
304
305
306
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
308
308
308
308
308
309
309
309
309
309
310
310
311
311
314
317
318
321
322
322
324
324
327
331
333
333
336
339
341
341
343
344
344
349
354
359
362
365
370
375
378
378
381
382
382
385
390
394
397
406
413
419
428
437
440
448
448
448
448
448
448
448
448
448
448
448
448
448
449
449
449
450
450
450
450
450
450
450
450
450
450
450
450
451
451
451
452
453
453
453
453
454
454
454
455
455
455
455
455
456
456
456
456
456
457
457
457
457
458
458
458
459
460
460
460
460
461
461
461
462
462
463
464
464
465
465
465
465
465
465
465
465
465
466
466
466
466
466
466
467
468
469
470
470
471
471
472
472
473
474
474
475
476
477
478
478
478
478
479
480
480
480
480
480
481
481
482
483
484
484
489
493
498
498
501
505
510
515
517
521
524
527
531
536
539
544
547
551
554
554
554
554
555
556
556
556
556
557
558
559
560
561
562
563
563
564
565
566
