305
305
305
305
304
302
301
301
301
302
302
302
302
302
300
296
296
296
295
295
295
295
295
295
295
296
299
298
298
298
298
298
297
297
297
299
299
300
300
300
300
300
300
299
299
299
299
298
296
296
296
296
296
295
295
295
295
295
295
295
294
294
294
293
293
292
292
292
292
292
293
294
294
294
294
295
295
294
293
293
294
295
295
295
295
295
295
295
295
295
295
295
295
296
296
296
296
296
295
294
294
294
295
296
297
297
297
297
296
296
296
296
296
296
296
297
297
297
297
298
299
299
299
299
299
299
299
299
298
298
298
298
298
298
298
298
298
299
299
299
299
299
299
299
299
299
299
298
298
298
297
297
297
296
296
296
296
296
296
296
296
295
295
295
295
295
295
294
294
294
294
294
294
294
295
295
296
296
296
297
298
299
307
310
308
302
302
302
302
302
302
303
303
305
305
305
305
305
305
305
305
305
305
305
305
307
307
307
307
307
307
306
306
306
306
307
307
307
306
305
305
305
305
305
306
306
306
307
307
308
308
308
308
308
306
305
301
301
301
303
304
305
306
307
306
304
300
297
294
292
292
291
291
291
291
291
291
291
291
291
291
289
289
289
290
289
289
289
288
288
288
288
288
288
288
288
288
291
293
299
302
306
306
306
306
305
305
304
304
303
303
305
306
305
304
304
304
304
304
298
297
296
296
295
295
295
297
299
293
292
292
291
291
293
290
290
292
292
295
295
289
291
291
291
290
290
290
291
291
290
290
291
291
291
291
291
291
291
291
291
291
291
291
290
290
290
290
290
290
290
290
290
291
291
291
292
290
290
290
290
291
293
293
293
293
293
293
293
293
293
293
293
293
293
293
294
294
294
294
294
294
295
295
295
295
295
294
294
295
295
295
295
295
296
296
297
297
297
297
297
296
296
295
295
296
296
298
298
299
299
299
299
299
299
308
310
312
313
313
313
313
324
326
327
328
330
330
331
333
334
334
335
336
339
340
341
342
343
343
343
344
345
348
354
362
364
368
369
374
377
383
387
388
385
383
382
381
389
391
394
399
401
404
407
409
415
409
409
409
414
416
418
419
419
420
420
420
422
425
427
429
431
428
426
424
424
424
424
425
425
425
426
429
432
434
438
442
446
449
452
454
457
457
458
458
458
455
454
453
455
458
462
462
462
462
462
467
472
476
480
484
487
487
485
483
483
484
488
489
489
489
489
489
489
490
490
491
493
489
482
477
475
475
472
471
470
469
469
469
469
470
470
470
469
470
470
477
477
477
476
475
475
475
475
475
475
475
475
475
475
475
475
475
476
477
477
476
476
476
476
476
476
476
476
476
476
476
477
477
477
477
477
477
477
477
478
478
478
478
478
478
478
478
478
478
478
477
477
478
478
478
478
478
479
479
479
479
479
479
479
480
480
481
483
483
483
483
482
481
481
481
482
482
484
485
486
486
486
486
486
485
485
484
484
484
484
484
486
487
488
488
488
488
489
490
491
495
497
497
498
500
500
501
500
497
497
496
495
495
496
497
497
498
504
508
498
497
496
494
494
497
494
493
493
493
493
494
494
494
494
494
494
493
493
493
493
493
493
498
496
494
495
496
496
498
505
505
501
499
499
500
500
500
500
501
501
501
501
501
499
498
498
498
498
499
500
500
499
499
498
498
500
501
504
510
514
516
516
516
517
518
518
519
519
519
517
516
516
517
517
518
518
522
523
526
527
529
529
531
531
530
530
531
534
534
535
535
536
536
537
537
538
539
539
540
540
539
539
538
538
538
538
538
538
538
539
539
539
539
540
540
541
541
541
541
541
541
541
541
540
539
537
536
535
535
535
535
535
536
537
537
538
538
538
538
538
538
538
539
540
541
543
543
544
544
544
544
543
543
543
543
545
546
547
548
549
550
550
551
552
552
553
555
557
564
568
572
573
573
574
575
576
577
578
578
578
577
576
576
575
574
577
577
578
579
580
580
581
581
582
583
584
584
584
585
585
585
585
585
585
584
583
583
583
584
585
586
587
588
585
582
580
577
575
571
570
569
568
566
566
563
562
560
559
558
557
557
557
558
559
559
560
561
561
561
559
558
558
558
556
556
555
554
554
553
553
553
553
553
553
553
553
553
553
554
554
555
557
558
559
561
562
564
565
567
567
567
567
567
567
567
568
568
568
568
568
568
568
568
568
568
568
568
568
568
569
570
571
573
576
578
580
581
581
580
578
576
576
575
574
574
574
576
578
579
580
581
582
583
583
584
586
587
587
589
591
592
592
592
592
591
590
589
589
588
588
588
587
587
585
585
584
584
584
584
584
584
584
584
584
585
586
586
586
586
586
586
584
584
584
582
579
577
576
575
574
573
573
572
571
570
570
571
572
571
571
570
569
569
569
572
572
573
583
585
586
588
589
591
591
591
591
591
595
596
596
597
597
597
598
598
597
596
593
594
595
595
597
597
598
598
598
598
598
598
598
598
598
598
598
598
598
597
597
596
596
596
596
597
597
598
598
598
598
599
600
601
601
602
603
605
606
606
606
606
606
606
606
605
605
605
605
604
603
602
602
601
600
600
600
600
600
600
600
600
601
603
604
606
609
609
607
607
611
619
629
636
640
642
644
645
646
647
648
650
648
643
643
645
646
650
653
660
662
667
667
667
668
669
669
668
668
669
670
673
675
676
679
684
685
687
691
691
691
690
690
689
689
689
689
689
689
690
690
690
690
691
694
700
702
701
700
699
698
698
698
699
700
701
701
698
697
696
694
693
692
687
684
683
680
679
677
676
675
674
673
672
670
669
668
665
665
664
661
661
661
661
660
660
660
661
665
666
668
675
674
673
671
671
671
671
672
675
676
682
686
689
690
692
696
697
697
697
697
696
693
693
690
690
689
689
688
687
686
685
685
685
686
686
687
687
687
687
688
689
690
691
692
692
692
692
692
692
692
692
692
692
692
692
692
693
693
693
693
692
690
689
689
687
686
685
684
683
682
680
680
679
679
679
679
679
679
679
679
679
679
679
679
680
680
680
680
680
681
682
683
685
685
687
688
690
690
690
690
690
690
690
690
690
691
691
691
692
693
693
693
692
690
689
689
688
688
688
688
688
687
686
686
685
685
685
687
688
688
688
689
689
689
690
691
695
698
698
699
703
716
721
721
723
724
724
724
726
728
730
731
736
740
748
751
753
758
759
763
765
766
767
767
768
769
770
772
772
773
775
776
780
787
793
797
797
797
796
796
796
795
794
794
801
802
802
804
804
805
808
809
809
809
809
809
809
809
808
808
807
806
805
804
803
801
801
801
800
799
799
798
796
795
791
787
784
780
776
773
770
772
774
774
775
776
778
778
779
780
784
788
790
793
798
803
804
803
801
799
799
799
799
799
799
800
803
804
805
806
809
813
826
833
837
840
846
851
857
859
860
863
865
867
867
867
867
867
866
866
866
866
873
875
878
880
884
888
890
891
892
895
896
897
898
899
901
902
903
903
905
906
908
911
913
914
915
917
918
919
920
922
923
928
929
931
935
935
935
934
934
934
934
934
934
934
935
938
946
948
952
954
956
960
963
966
974
983
986
985
982
981
978
977
976
975
974
973
972
971
971
970
970
969
968
966
965
964
960
958
956
953
952
951
950
949
948
947
946
945
943
943
941
940
940
940
940
941
941
941
941
942
943
945
946
948
950
950
951
951
951
951
950
949
948
947
946
945
942
940
939
939
938
937
936
935
935
934
935
936
938
940
940
940
940
942
944
947
949
951
953
955
957
961
961
962
963
963
964
964
965
967
969
970
972
973
974
976
977
976
969
960
958
956
955
954
953
953
952
950
950
950
950
949
949
949
948
949
952
954
956
954
953
950
948
947
950
953
960
964
983
988
987
982
978
977
977
982
985
985
986
989
989
989
989
990
990
991
991
991
991
991
990
982
981
980
975
972
969
969
970
971
972
972
976
980
985
986
982
978
974
974
973
972
971
970
970
970
965
960
948
943
932
928
925
922
920
917
915
914
914
912
909
902
897
894
889
890
891
889
886
884
882
880
877
874
873
870
867
865
865
874
878
878
878
878
878
877
877
877
876
876
876
877
877
878
878
878
880
881
881
882
884
885
886
887
887
887
887
887
887
887
887
887
886
886
886
886
886
889
890
893
894
897
900
902
903
903
901
901
901
902
902
902
902
902
902
902
902
903
905
907
910
911
911
912
912
911
906
903
901
900
897
897
898
899
900
891
887
889
889
893
895
895
895
895
895
892
885
883
882
881
879
880
881
882
883
884
885
885
885
885
885
885
885
886
887
887
886
885
882
879
877
877
877
877
877
877
875
873
871
869
861
861
860
860
860
860
858
857
857
854
852
851
850
846
844
841
841
842
842
841
839
832
829
827
826
827
832
836
840
844
848
850
852
854
849
844
848
844
841
837
834
831
831
831
832
833
833
835
837
837
837
838
839
835
811
814
812
811
822
827
824
817
809
786
781
778
770
767
767
765
764
761
758
752
751
752
754
740
731
729
729
729
728
728
718
704
711
702
699
697
689
675
671
677
674
666
657
662
664
640
635
636
634
631
622
620
617
616
617
619
620
624
625
626
643
647
643
638
638
640
637
635
633
627
623
616
614
615
620
627
634
636
638
636
626
603
589
580
568
559
552
546
544
551
557
564
575
569
557
536
535
535
535
536
537
532
514
510
510
510
509
499
491
483
473
473
472
468
463
458
455
445
441
439
435
428
427
427
427
427
428
428
424
419
412
411
409
406
405
405
402
400
396
393
389
380
376
370
364
359
359
358
356
355
351
348
346
343
339
338
337
337
336
336
335
334
333
333
334
335
334
328
328
328
328
328
328
328
322
319
316
313
297
285
283
283
282
282
280
279
279
283
285
288
292
291
288
284
278
268
265
265
265
264
263
262
257
246
243
239
235
231
229
226
225
225
224
222
219
206
202
196
195
195
194
194
193
193
191
189
188
187
187
172
168
161
154
151
149
148
146
131
127
126
124
121
119
117
115
113
111
110
109
109
109
108
108
108
108
108
106
105
104
104
104
104
104
105
106
107
107
108
108
108
108
108
108
108
108
109
109
109
109
109
109
109
109
109
109
109
109
110
110
110
110
110
110
109
109
109
109
109
109
109
109
110
110
111
112
113
109
110
111
111
109
109
110
110
110
110
110
110
110
111
111
111
113
116
116
116
121
121
122
123
124
124
124
123
123
123
123
123
127
127
128
128
128
128
128
129
129
129
128
127
125
123
123
123
123
124
124
124
124
124
125
125
125
125
124
123
122
121
120
120
120
120
120
135
138
135
133
130
129
128
128
128
127
125
124
124
122
121
120
119
116
115
110
110
110
110
109
108
108
107
106
106
105
105
104
104
104
104
104
105
107
108
109
109
109
109
109
110
110
110
113
115
115
115
115
116
116
118
117
117
116
116
115
112
110
110
112
114
116
119
123
122
122
121
114
112
112
112
113
114
118
120
122
135
137
139
140
142
144
144
145
146
146
146
147
149
153
154
155
157
160
160
161
162
162
162
162
162
157
156
156
156
155
155
155
155
156
157
160
161
161
161
161
160
158
154
151
150
150
153
154
160
160
161
160
159
159
158
156
155
153
151
151
150
148
147
147
147
147
146
146
145
145
147
151
156
163
165
167
169
171
172
169
168
166
166
167
167
171
173
176
176
177
179
181
184
185
188
188
186
182
176
172
172
172
172
172
173
173
173
173
172
171
171
170
170
167
163
162
160
158
156
153
151
149
147
144
142
140
140
140
140
140
140
140
140
139
134
128
127
126
125
124
123
122
121
121
119
118
118
118
118
119
119
120
120
120
124
125
125
126
126
127
129
129
129
128
128
127
127
127
128
129
130
127
121
120
119
118
118
117
114
113
113
113
112
112
112
112
112
114
118
112
109
108
108
107
106
105
104
103
103
103
103
103
103
104
104
105
105
106
106
104
103
101
99
106
111
110
109
108
106
105
107
109
104
97
97
96
96
95
95
95
95
95
96
96
97
98
99
99
100
101
105
106
110
108
106
103
101
101
101
101
103
106
107
108
106
103
102
104
106
116
106
107
108
109
110
110
108
104
101
95
95
94
93
91
90
90
89
88
87
85
85
84
84
84
83
83
83
80
76
74
72
72
72
70
69
68
66
65
65
63
62
61
60
60
59
61
62
61
61
65
65
65
65
65
65
65
65
65
71
73
74
76
77
79
82
82
83
87
92
98
104
109
113
111
110
110
112
115
116
118
120
122
124
125
128
127
123
119
119
119
118
116
116
116
115
114
114
118
119
121
118
115
114
113
115
116
117
117
117
116
116
116
116
116
115
115
115
115
115
115
115
111
110
107
106
105
104
104
103
103
103
102
102
101
100
98
97
97
97
97
97
95
95
95
96
97
98
98
99
101
100
98
96
95
94
94
94
94
94
96
96
96
98
98
98
98
97
97
96
96
96
96
96
96
96
97
98
99
100
100
100
100
101
101
101
101
101
101
101
100
100
99
99
99
99
99
99
99
98
96
93
90
89
88
98
106
116
119
120
124
126
125
118
106
104
100
108
112
117
123
129
127
123
121
119
117
113
114
115
116
117
128
132
133
133
134
134
148
153
155
157
165
159
141
175
180
182
183
185
187
189
189
191
193
196
198
198
205
216
226
228
223
219
226
228
231
233
235
235
235
244
238
238
243
248
261
261
258
254
250
223
217
216
215
208
206
204
202
201
201
200
198
197
195
192
189
185
185
185
185
185
185
185
180
178
177
165
161
156
150
145
145
145
146
147
147
147
147
139
135
130
117
110
108
107
107
106
105
104
105
107
108
109
111
112
113
114
114
114
113
112
112
109
105
105
105
105
109
109
110
112
113
113
117
119
123
123
121
125
127
128
127
130
130
130
130
130
137
143
153
157
156
156
151
149
150
155
157
158
157
155
155
155
155
158
165
181
181
181
181
197
197
196
194
193
193
190
190
191
191
193
193
193
193
192
191
191
190
189
187
186
186
184
183
184
186
187
194
195
198
198
198
197
197
196
198
199
202
207
212
219
222
229
233
235
236
237
238
239
239
240
240
247
252
254
253
252
252
252
253
254
255
257
258
258
259
260
257
256
254
250
249
248
248
248
251
251
251
248
248
248
248
247
247
246
246
251
253
255
256
260
262
264
264
271
274
278
282
282
283
283
285
285
285
286
287
287
288
289
290
290
289
289
289
289
289
291
291
292
292
293
290
290
291
292
296
296
295
295
294
294
293
293
289
288
286
282
279
269
260
260
257
256
255
255
254
254
250
246
244
242
241
239
237
235
232
230
228
227
226
225
223
222
221
218
216
214
205
202
198
197
191
192
194
196
197
197
195
194
194
194
195
196
196
196
195
195
194
194
192
191
190
188
187
186
184
179
179
179
179
179
171
169
166
161
161
160
159
159
158
158
148
146
143
141
140
135
131
130
129
126
122
122
121
119
113
115
126
131
134
137
138
145
145
145
145
145
145
144
143
140
140
138
137
136
135
134
133
132
130
125
123
122
118
116
111
109
109
110
111
114
115
117
118
119
121
122
123
124
124
124
124