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
2
2
2
2
5
5
5
6
6
9
10
18
29
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
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
52
52
52
52
52
53
53
54
55
55
55
55
55
55
55
55
55
55
55
55
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
58
58
58
60
60
60
60
60
60
63
63
63
63
63
63
66
71
71
71
71
71
71
77
80
90
104
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
114
114
114
114
114
114
114
114
114
114
114
114
114
114
115
115
115
115
115
115
115
119
122
126
126
130
133
134
135
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
137
138
138
138
138
138
138
138
138
138
138
138
138
139
142
144
147
151
151
155
156
164
178
203
203
203
203
203
203
203
203
203
204
204
204
204
204
204
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
206
207
207
207
207
207
207
207
207
207
207
207
207
208
208
209
210
210
210
210
210
210
210
210
210
210
210
211
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
214
216
216
216
218
218
219
222
222
222
224
224
228
232
232
232
232
232
232
235
240
240
240
240
240
240
249
254
268
283
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
294
295
295
295
295
295
295
296
297
297
297
297
297
297
297
297
297
297
297
297
297
297
298
298
298
298
298
298
298
302
306
311
311
315
319
320
321
322
322
322
322
322
322
322
322
322
322
322
322
322
322
323
324
324
324
324
324
324
324
324
324
324
324
325
326
326
326
326
326
326
327
328
328
328
331
331
331
333
335
338
343
348
353
358
363
365
370
375
381
395
408
423
435
463
463
463
464
464
464
464
464
464
464
464
464
464
464
464
465
465
465
466
466
466
466
466
466
466
466
466
466
466
466
466
466
467
467
467
467
467
467
468
469
470
471
472
473
474
475
475
475
475
475
475
475
476
477
478
479
480
481
481
482
483
484
484
485
485
486
487
488
489
490
491
492
493
494
495
496
496
496
496
496
497
497
497
497
497
497
497
497
497
498
498
498
499
499
500
501
501
501
501
501
502
503
503
503
503
503
505
505
509
509
512
516
517
520
524
529
534
539
543
547
552
557
562
567
567
567
567
567
567
572
577
577
577
577
580
582
597
609
624
639
654
654
654
654
654
654
654
655
656
656
656
656
656
657
658
658
658
658
658
658
658
659
660
661
661
661
661
661
662
663
664
664
664
664
665
665
665
665
665
665
665
665
666
666
667
667
667
667
668
669
669
673
678
683
683
688
693
694
695
696
