43
42
42
42
42
42
42
47
44
43
43
45
44
46
47
48
49
48
48
48
48
48
48
48
49
49
49
49
49
49
50
50
50
50
50
50
50
50
52
52
50
50
50
50
50
50
50
50
52
52
51
51
51
52
52
52
52
52
54
53
55
55
55
55
55
55
56
56
56
56
56
56
56
56
56
57
58
58
58
58
57
58
58
59
59
60
60
62
62
63
63
63
62
62
65
67
67
65
64
64
63
63
62
62
64
64
64
64
64
63
63
63
63
62
62
62
62
62
62
62
62
62
62
62
62
62
63
64
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
66
66
66
66
66
65
65
65
63
63
63
65
64
65
65
65
65
65
65
66
66
68
67
67
67
67
67
68
68
69
69
69
69
69
69
69
69
69
69
69
68
68
68
68
69
69
69
69
69
70
70
70
70
70
70
70
71
71
72
72
72
72
72
72
72
72
72
72
72
70
70
70
70
70
70
71
71
70
70
69
70
71
72
72
73
73
74
74
74
75
75
75
75
80
80
80
80
80
80
80
81
81
81
81
82
82
82
82
82
82
85
86
86
86
86
87
89
91
91
91
91
92
93
95
94
96
96
97
98
99
98
97
97
97
99
101
103
103
101
102
105
105
107
109
109
110
110
111
111
112
112
112
113
114
115
119
118
118
118
121
122
121
122
122
122
123
123
123
123
123
127
127
126
131
132
133
134
135
136
137
139
139
139
140
142
143
144
144
144
144
146
147
150
151
152
156
156
156
155
155
156
161
162
162
162
162
162
163
166
167
168
168
169
170
170
170
170
171
176
175
175
175
175
175
175
179
180
180
181
181
183
184
184
185
185
185
185
186
187
188
188
188
188
188
188
188
188
188
190
190
196
196
197
197
197
197
197
197
203
203
203
203
203
206
207
207
208
213
215
219
220
219
218
218
220
220
221
221
222
224
225
225
226
227
229
230
229
229
232
233
234
237
236
235
235
235
238
241
242
244
244
245
245
245
246
246
246
246
246
245
245
245
245
245
245
245
245
245
245
245
245
245
246
247
247
247
247
247
244
242
238
238
238
238
238
238
233
233
233
233
233
235
236
237
237
237
237
237
238
238
238
239
239
239
239
239
239
239
239
240
240
240
240
240
240
240
240
240
240
240
240
239
239
241
242
242
242
242
242
242
242
243
242
245
248
248
248
249
250
250
250
250
252
254
255
256
257
258
258
259
259
259
259
259
259
259
259
259
259
260
262
262
263
264
264
265
265
266
267
270
271
272
272
273
274
276
277
277
277
278
278
278
278
278
279
280
283
285
286
290
292
293
295
297
298
299
299
300
305
306
307
309
310
310
310
310
310
310
311
311
314
314
312
309
305
306
306
306
306
308
309
310
310
310
310
311
312
315
317
323
324
327
332
333
332
332
335
333
333
336
338
339
342
342
343
343
343
343
343
344
343
342
338
337
335
335
335
339
340
340
336
336
336
337
338
338
340
342
343
343
343
344
345
346
347
347
348
348
348
349
349
350
351
353
358
359
360
368
369
371
372
376
379
381
381
383
384
384
384
384
384
384
384
388
390
391
393
393
393
392
390
386
386
387
387
387
388
389
391
392
393
394
394
395
396
398
401
402
402
401
402
408
411
412
413
414
417
419
421
423
426
429
429
429
427
426
422
422
423
424
424
422
423
424
426
427
428
430
432
434
435
435
432
429
423
424
427
428
428
426
424
420
419
419
421
422
424
423
423
422
422
423
424
426
427
429
429
429
427
427
427
427
426
426
425
425
425
425
426
427
428
429
432
434
435
436
437
437
439
440
447
448
448
448
448
447
446
446
446
446
446
446
446
446
446
445
445
448
449
450
451
452
454
454
455
456
457
457
457
457
460
463
463
463
464
464
465
462
462
462
462
463
463
463
464
464
462
463
463
463
463
463
463
463
463
463
463
463
464
464
465
468
469
471
473
474
475
477
477
477
476
476
476
475
476
477
478
481
482
484
486
486
487
490
492
494
493
493
491
490
490
490
491
492
492
494
494
493
492
492
491
491
493
493
492
491
490
490
490
491
491
491
490
490
490
490
490
490
490
493
499
500
502
498
497
494
493
492
491
490
490
489
489
489
490
490
490
490
490
490
490
490
490
490
490
489
488
489
490
492
492
490
488
488
487
487
486
486
486
486
486
489
492
492
493
493
493
494
494
494
495
499
499
499
503
505
507
508
512
513
515
520
520
520
520
520
523
525
529
533
536
538
539
539
540
541
542
542
542
543
544
545
555
558
567
568
569
570
570
572
572
573
574
574
573
572
575
577
577
577
577
577
576
574
572
571
570
566
566
566
566
566
567
567
568
568
568
568
568
568
568
568
568
569
570
571
571
572
573
574
574
576
577
577
579
580
580
579
578
580
581
582
583
583
583
582
581
581
581
580
580
579
579
579
579
579
579
579
577
576
575
574
574
574
574
574
574
575
582
582
583
583
583
584
584
584
584
584
584
584
584
585
585
586
588
588
588
588
588
589
596
599
600
603
603
603
603
603
603
601
599
596
595
593
592
590
589
587
586
585
584
583
582
582
584
585
586
587
594
598
599
601
603
604
607
608
609
610
611
613
615
618
618
619
620
621
623
625
625
625
626
627
632
634
635
636
640
646
648
644
640
636
630
630
629
629
631
635
635
647
651
653
655
654
654
653
653
651
645
643
638
638
637
636
635
632
631
630
628
628
627
626
624
624
623
620
618
617
613
612
610
610
608
607
605
605
604
602
601
598
596
595
594
592
592
592
592
592
593
593
598
599
600
601
602
602
602
602
602
602
601
601
600
599
598
598
598
598
598
598
598
597
600
599
599
600
600
601
603
608
608
608
608
611
612
614
616
616
617
618
620
620
620
621
622
623
624
625
625
624
623
623
624
625
629
630
632
632
632
630
629
631
634
637
638
640
642
645
646
647
648
649
649
649
651
653
655
661
664
671
671
671
669
666
662
658
670
672
673
675
685
685
686
687
688
689
692
692
690
688
687
686
703
703
703
704
709
712
717
725
726
726
727
729
735
738
751
753
754
755
756
758
760
762
765
771
775
778
782
780
780
784
787
793
795
799
802
805
805
805
803
801
801
801
796
792
789
787
786
791
799
801
802
803
804
807
807
807
807
810
813
815
815
817
819
821
825
827
827
828
828
829
829
830
831
836
837
839
842
843
843
844
845
846
847
849
849
849
849