109
109
109
111
112
112
112
112
115
116
116
116
115
114
111
111
111
109
110
111
111
111
111
112
112
112
112
113
113
114
114
114
114
113
113
113
113
113
115
115
115
115
116
116
116
115
115
115
115
114
113
113
113
112
111
111
111
111
110
109
109
108
108
108
108
113
113
113
113
113
115
115
114
112
112
109
109
108
108
108
108
108
108
108
108
108
110
110
110
111
111
111
111
111
111
111
111
111
111
112
112
112
112
112
115
115
117
117
115
112
111
111
111
111
111
111
111
111
111
111
111
111
110
110
110
111
112
113
113
114
114
111
111
111
111
112
113
113
113
114
114
114
114
115
115
115
115
115
115
115
114
113
113
113
113
115
116
114
114
114
114
114
114
114
114
114
115
115
115
115
115
115
115
115
115
115
115
115
115
114
114
114
114
114
114
114
114
114
114
114
114
114
114
115
115
115
115
116
116
116
116
116
117
121
121
121
121
121
121
121
121
121
122
122
123
124
133
132
129
127
133
133
133
133
138
138
138
141
141
142
144
144
144
143
142
141
141
140
140
140
140
140
140
140
141
141
141
142
142
142
143
144
144
140
140
142
142
148
155
156
160
171
172
172
172
175
176
174
174
174
174
174
174
174
177
178
183
185
185
187
187
187
188
189
190
190
190
189
188
182
185
188
190
190
190
191
193
194
195
201
206
211
211
204
203
203
203
203
205
207
207
207
208
212
212
214
218
216
215
202
204
200
200
190
189
188
180
177
174
173
173
176
176
176
176
166
166
166
166
166
166
162
162
161
160
158
158
158
159
159
159
160
162
164
165
165
165
165
167
168
168
169
170
170
170
170
172
173
174
175
175
175
176
176
176
181
181
186
187
190
193
193
194
195
198
208
212
221
224
225
225
225
225
225
225
224
224
221
219
216
215
201
200
200
199
199
198
196
196
196
196
196
196
193
190
191
194
194
199
206
206
205
204
204
198
201
219
227
233
236
237
239
241
241
240
226
221
216
208
194
184
187
191
192
196
197
198
199
200
208
211
211
214
218
219
219
220
223
225
225
225
225
224
224
224
224
224
224
224
224
223
223
225
226
226
226
226
227
225
211
207
205
203
175
173
172
172
172
170
165
157
156
155
153
152
151
137
136
136
136
136
137
137
136
135
135
135
134
131
132
140
140
139
136
136
136
135
135
136
137
137
136
133
136
134
135
134
131
131
131
131
131
131
131
132
133
134
135
135
133
131
128
128
128
128
127
127
127
128
135
137
138
139
140
142
143
142
142
142
143
143
144
144
145
145
145
145
145
142
141
140
139
139
137
137
138
138
139
140
140
141
140
139
138
133
131
130
129
128
126
129
129
129
129
129
129
128
128
128
128
130
132
136
133
133
131
133
134
134
135
135
135
136
136
136
137
145
150
153
164
168
168
167
167
167
166
165
167
165
162
162
161
157
156
156
157
160
158
158
160
161
162
161
158
161
159
159
159
155
145
152
153
156
160
159
157
152
150
148
144
132
132
131
131
131
131
131
131
131
130
130
130
130
130
130
130
131
131
132
132
132
133
138
142
149
156
156
151
151
150
152
152
152
150
149
140
138
137
137
137
138
141
142
143
136
135
135
134
135
135
134
134
134
134
134
134
135
139
142
146
146
144
139
137
134
132
132
132
134
136
151
151
151
151
151
152
148
148
148
149
149
150
150
150
151
153
153
153
153
151
151
150
149
148
145
143
142
140
140
139
138
139
139
141
142
142
142
142
146
151
169
172
173
173
172
171
171
171
169
168
168
167
166
165
161
156
151
147
144
143
143
142
141
141
141
140
139
136
135
135
134
133
133
133
133
134
134
134
136
137
147
149
149
149
151
149
149
148
145
141
138
137
136
136
136
136
136
135
135
134
133
135
137
136
137
137
138
138
138
140
140
141
141
141
140
140
140
142
142
142
143
143
143
143
143
143
143
141
141
140
140
140
140
140
140
140
142
143
147
148
148
149
149
150
151
151
151
151
151
152
152
152
152
152
151
150
150
147
146
145
145
144
143
143
143
143
143
143
144
144
144
145
145
145
145
145
145
145
145
145
145
146
147
147
147
148
148
149
150
151
151
151
150
149
149
149
150
150
150
150
150
150
150
150
150
151
152
153
153
155
157
156
155
155
151
151
154
155
157
160
161
159
158
156
157
157
157
157
157
162
161
160
157
156
156
155
155
156
157
159
160
161
164
164
164
164
164
164
165
165
167
167
167
167
167
167
169
169
170
170
172
174
175
175
176
176
180
181
183
183
189
191
192
192
192
193
194
195
195
195
196
196
196
196
197
198
198
198
208
211
212
212
212
214
216
224
226
229
231
232
237
238
239
240
241
243
244
252
253
257
265
262
260
259
258
256
254
259
267
275
279
283
283
284
284
285
286
287
287
287
287
287
287
287
286
287
288
289
289
292
293
293
294
295
298
303
314
314
315
316
316
317
317
319
326
328
338
343
342
343
343
344
344
347
349
350
351
352
357
364
377
380
383
384
384
384
384
384
384
383
382
391
392
393
396
397
400
401
402
404
405
408
410
414
416
418
421
425
429
430
442
447
452
460
460
464
471
473
479
479
480
480
480
481
482
483
483
485
486
497
511
511
511
511
511
511
512
512
513
513
518
519
521
520
515
513
520
529
537
546
553
556
560
560
559
559
558
558
557
554
553
552
551
550
550
550
550
550
550
550
550
550
550
550
550
550
553
556
558
561
564
575
580
589
592
595
595
595
595
596
597
597
597
597
596
596
594
593
590
590
589
589
588
588
598
604
613
616
616
616
616
616
616
616
617
620
623
631
633
636
639
648
648
651
651
651
651
650
650
649
649
649
649
649
649
650
650
650
650
651
651
651
651
653
655
658
663
664
665
667
670
671
671
671
672
673
673
674
675
675
675
676
676
676
679
686
688
690
695
697
701
703
703
704
706
707
707
707
707
707
707
707
707
707
707
715
718
720
723
726
728
730
733
736
738
741
740
739
737
736
734
734
733
733
733
733
734
734
735
735
737
742
746
754
760
769
770
771
773
774
775
777
788
790
793
793
796
797
800
805
808
809
810
811
812
813
813
815
816
817
816
816
816
815
815
814
812
803
802
800
799
798
797
797
797
797
798
796
795
794
793
787
785
780
778
777
776
772
771
770
769
769
769
769
770
770
770
770
770
769
766
765
765
765
766
767
769
770
772
777
778
780
785
787
788
790
792
797
800
805
806
805
805
804
804
802
801
800
800
800
801
802
802
803
803
806
811
814
815
816
817
819
820
822
823
824
825
826
831
832
836
837
839
841
847
848
852
852
854
859
860
861
861
862
863
864
865
869
871
872
873
875
879
881
882
883
884
888
889
889
890
894
895
896
897
900
902
914
919
919
919
919
919
919
919
919
920
921
922
922
923
923
924
926
926
926
925
925
925
924
923
922
922
922
922
922
924
926
929
934
938
939
937
934
927
925
921
920
913
912
912
911
910
912
912
910
909
909
908
907
906
906
905
904
904
903
902
893
890
889
879
876
876
877
877
877
877
877
878
878
877
876
875
874
872
871
870
869
868
862
862
856
854
853
850
848
847
847
846
846
845
845
844
843
842
841
840
836
835
824
820
810
810
805
801
799
798
797
793
793
792
790
790
789
788
788
787
787
787
787
788
788
788
788
785
775
774
773
771
771
770
769
768
768
767
766
765
765
764
762
762
762
761
756
755
753
752
746
745
743
739
737
736
735
734
734
734
734
734
734
733
733
732
732
732
732
732
732
730
728
726
724
723
721
716
715
710
708
708
707
707
706
704
703
703
702
685
679
662
661
662
664
662
660
659
659
658
658
659
660
660
661
661
663
664
665
665
666
678
678
678
678
678
676
675
673
672
671
670
663
661
659
658
656
656
656
655
655
654
654
654
655
655
654
653
653
653
653
650
647
636
635
633
632
631
632
632
632
634
635
637
638
645
647
649
651
653
654
656
659
659
659
658
657
657
656
656
654
651
650
649
649
652
652
652
652
653
653
654
654
654
654
654
654
654
654
653
650
642
638
636
632
630
628
626
622
621
620
625
632
634
635
636
637
640
640
641
642
642
642
642
642
642
641
640
639
639
638
638
637
637
638
639
640
640
641
643
644
644
645
646
651
653
655
658
666
669
671
674
680
682
683
684
686
691
693
694
694
691
688
688
687
685
684
682
680
678
673
670
668
668
667
667
667
666
666
665
665
676
679
682
690
690
691
692
692
692
692
694
698
701
704
704
706
711
712
714
720
721
722
725
725
726
727
728
728
729
730
731
735
738
739
739
740
740
741
742
742
743
745
745
746
746
747
748
751
750
745
745
744
744
744
746
751
755
761
783
799
800
802
803
807
811
812
814
818
820
821
823
824
825
827
829
832
834
835
838
841
844
851
856
860
874
879
882
884
886
888
892
896
901
909
921
924
925
926
927
928
929
930
933
943
944
946
947
949
954
957
965
970
976
982
994
995
995
995
995
995
995
995
995
994
994
994
993
993
993
993
994
995
995
996
996
996
998
998
998
998
999
999
999
999
999
999
999
999
998
998
998
998
997
995
994
994
993
992
992
991
991
991
991
990
990
988
982
982
975
965
959
954
949
947
943
942
941
940
939
927
923
921
920
919
918
917
915
910
903
897
891
885
881
878
875
873
869
864
851
846
838
828
823
819
816
814
812
808
805
803
802
796
790
788
783
780
764
754
743
744
745
745
746
747
755
755
750
748
748
747
746
746
743
742
741
740
740
739
738
737
736
732
728
727
726
725
724
724
723
722
721
718
717
716
713
714
715
716
719
720
721
721
721
721
722
722
722
713
713
711
709
707
705
702
699
697
696
695
695
694
693
693
692
691
691
690
689
687
686
685
684
682
681
680
678
675
671
670
665
664
663
661
660
659
658
656
656
656
655
655
655
655
655
655
655
655
655
655
655
655
653
653
652
649
642
642
640
639
638
636
635
635
632
630
625
624
623
622
621
620
618
614
611
607
591
587
583
576
572
571
569
569
569
570
572
573
573
573
574
574
575
575
576
577
577
577
577
577
577
577
577
577
577
577
577
577
577
575
574
573
572
571
569
563
560
559
557
556
555
554
554
553
553
552
552
552
551
551
550
549
547
546
545
544
543
541
540
538
536
535
534
532
529
529
528
528
527
511
508
507
505
501
501
501
501
501
501
501
501
500
499
495
494
492
486
484
482
481
479
477
475
473
471
470
469
467
466
465
458
459
460
461
462
462
463
466
467
468
468
466
464
460
458
455
453
453
452
449
448
443
437
435
432
430
427
427
426
426
426
425
425
425
425
425
425
424
420
418
417
415
414
413
411
410
409
408
407
407
407
408
408
408
408
408
408
408
406
399
396
391
384
380
377
375
373
372
368
364
364
363
360
355
347
346
345
343
343
342
341
340
339
339
336
334
332
318
312
311
310
309
308
290
285
280
272
269
262
257
255
252
248
247
246
245
236
232
228
226
226
221
219
216
213
209
208
206
205
204
201
200
199
198
197
197
196
195
194
193
193
192
189
189
188
188
186
185
183
183
183
183
182
179
178
177
176
174
173
173
173
172
172
171
171
169
169
168
166
166
166
166
166
164
164
159
157
155
155
155
155
156
156
156
156
156
156
157
140
135
135
135
135
134
134
132
131
128
126
125
123
123
121
120
119
119
119
119
118
118
121
122
119
119
119
118
117
117
117
116
115
114
113
113
113
113
113
113
113
113
113
114
114
114
116
116
116
116
117
117
118
118
119
120
120
120
120
120
120
119
132
133
118
110
110
110
110
110
109
109
109
112
114
114
114
114
114
114
114
114
114
114
114
114
114
114
115
114
114
114
113
113
113
113
113
113
119
119
125
125
125
125
125
125
126
120
121
119
119
119
119
119
119
119
119
119
118
118
118
118
118
118
118
118
118
118
118
118
118
118
122
122
122
122
122
122
122
122
119
116
113
115
116
116
116
116
116
116
116
117
117
117
117
117
117
116
116
116
116
116
116
116
116
115
115
115
115
115
115
115
115
115
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
120
123
122
122
121
121
121
121
121
121
120
118
119
118
117
117
115
118
118
118
119
119
119
122
125
124
124
124
123
120
112
111
112
113
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
116
116
117
117
122
121
121
121
121
118
119
119
121
122
123
127
124
125
125
128
128
132
132
129
130
130
132
132
131
130
130
130
130
131
129
129
128
128
128
126
127
131
131
131
131
131
131
139
135
144
153
153
155
151
151
151
152
152
152
152
152
152
152
152
152
152
153
153
154
155
163
163
164
173
171
168
165
161
160
163
164
164
161
160
157
157
159
167
167
167
167
167
167
167
175
183
184
184
184
181
180
180
196
191
190
182
182
183
185
185
194
195
196
198
199
201
200
196
196
197
194
190
187
186
184
184
183
182
179
179
179
179
179
179
179
179
179
179
179
179
179
178
176
173
173
177
179
179
179
179
179
178
178
178
178
181
182
183
183
184
184
185
186
186
185
185
184
184
179
177
175
175
175
175
175
175
175
175
175
172
171
167
173
174
173
166
166
166
167
167
167
167
163
163
163
163
163
163
163
163
164
164
164
163
162
162
161
159
157
157
157
163
165
166
170
171
172
172
169
169
171
172
167
165
159
157
155
155
155
155
156
156
156
157
157
158
159
159
158
156
155
155
155
155
155
155
155
154
153
153
153
158
159
159
157
156
156
158
159
159
158
158
154
153
153
153
154
155
155
155
155
156
156
155
155
155
154
154
154
154
154
153
153
153
153
152
150
148
147
147
147
147
146
145
145
145
146
145
144
144
143
141
139
137
137
137
137
137
137
137
136
136
136
136
136
136
135
135
135
135
135
136
138
138
137
137
137
137
135
134
133
133
133
133
133
133
133
133
133
133
133
133
133
130
130
130
130
130
130
130
130
129
129
128
127
127
127
127
127
127
127
128
128
128
127
127
127
127
127
127
126
126
127
127
128
129
132
132
134
135
135
131
131
131
130
130
130
130
130
127
127
127
126
126
126
125
125
125
125
124
124
124
124
125
127
128
129
129
129
130
130
131
132
125
125
125
124
124
123
123
123
122
122
122
122
122
122
121
121
120
120
120
119
118
118
118
118
117
117
117
117
117
117
117
117
116
116
116
116
116
116
116
116
116
116
116
115
116
116
116
117
117
116
116
116
117
117
117
117
117
115
111
111
111
111
110
109
109