0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
6
9
9
12
20
31
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
55
60
60
60
60
60
60
60
62
62
62
62
62
62
62
62
62
67
82
94
96
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
110
114
119
119
122
126
127
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
130
131
131
131
131
131
131
131
131
131
132
132
132
132
134
137
142
145
145
148
156
167
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
191
191
191
191
191
191
191
191
191
191
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
193
194
194
194
194
194
194
194
194
194
194
194
194
195
195
195
197
198
198
198
198
198
198
198
198
198
198
201
206
206
206
206
206
209
209
213
214
214
216
217
217
217
218
220
227
242
256
260
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
271
271
271
272
273
273
273
273
273
273
273
273
273
273
273
274
274
274
274
274
274
274
278
282
287
287
291
295
296
297
298
298
298
299
299
299
300
301
302
302
302
303
303
303
303
303
303
303
303
303
304
305
306
306
307
307
307
308
309
310
311
312
313
314
315
316
319
319
321
321
321
323
327
330
335
337
342
346
351
356
361
370
380
393
408
420
451
451
451
451
451
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
453
453
453
453
453
453
453
453
454
454
454
455
455
456
457
457
457
457
458
459
460
460
460
460
460
461
461
461
461
462
463
464
465
466
467
468
468
469
470
471
472
472
473
474
475
476
477
478
479
480
481
482
483
483
484
485
486
486
487
488
489
490
490
491
492
493
494
495
496
496
497
498
499
500
501
502
503
504
505
505
505
509
513
516
516
516
516
519
523
523
523
523
528
533
533
536
536
540
545
550
555
558
563
568
571
575
578
582
587
602
617
632
644
659
659
659
659
659
659
659
659
659
659
659
659
659
659
660
661
661
661
662
663
663
663
663
663
663
663
663
664
664
665
665
666
667
668
668
668
669
670
670
670
670
670
670
671
672
673
673
673
674
675
675
679
684
689
689
694
699
700
701
702
