126
126
126
126
126
126
126
127
127
127
127
128
128
128
128
128
128
128
128
129
129
129
129
129
129
129
129
129
128
128
128
128
129
129
131
131
131
132
134
134
134
134
134
134
134
134
134
135
135
135
135
136
136
136
136
136
136
136
137
140
140
140
141
141
142
143
143
143
143
143
143
144
145
149
150
150
150
150
150
153
155
156
156
156
156
156
156
156
156
158
158
159
159
159
159
160
161
163
163
164
164
164
164
165
165
166
166
166
167
169
169
170
171
172
173
173
172
171
171
171
171
174
176
176
178
178
179
179
179
180
180
180
180
180
180
181
182
183
184
185
185
185
185
186
188
189
189
189
189
190
190
190
191
193
194
195
196
196
196
196
196
196
196
196
196
196
196
198
200
201
205
209
209
209
212
216
216
216
216
217
217
217
218
219
220
221
222
224
226
227
229
230
232
233
233
234
234
234
234
234
234
234
234
236
237
237
238
238
241
241
241
240
239
238
237
237
236
238
240
241
242
242
244
245
247
250
252
255
262
265
268
273
272
270
268
267
267
263
261
260
260
265
272
273
274
275
275
280
299
315
316
318
319
322
323
325
327
331
331
332
332
333
335
335
336
340
342
342
342
343
343
346
348
349
351
351
349
347
342
340
339
337
346
347
347
345
345
345
343
356
377
382
388
389
388
387
387
385
367
363
359
353
348
361
366
366
366
366
367
367
367
367
369
373
378
384
387
391
404
403
401
393
396
402
403
406
408
409
412
413
413
414
415
416
417
417
418
423
426
428
431
433
438
440
441
443
443
444
448
451
453
455
461
464
465
472
473
478
480
485
487
491
500
507
510
514
518
522
526
527
527
527
527
527
527
530
542
546
551
554
557
561
562
568
570
571
572
572
572
573
575
579
584
587
589
590
591
592
593
593
594
595
603
604
605
607
608
608
608
606
605
603
601
597
593
592
590
589
586
585
584
584
583
580
579
578
577
575
573
573
572
571
568
566
565
565
565
564
564
563
562
561
561
561
560
560
560
560
560
560
561
561
561
562
562
562
563
565
568
572
577
577
578
578
578
579
579
580
581
581
581
575
573
571
565
562
560
560
560
560
560
560
559
559
559
559
559
559
560
561
562
563
563
563
563
563
563
563
563
563
563
563
563
563
560
559
558
557
557
556
555
554
553
553
552
551
551
550
550
550
548
547
547
546
545
544
543
542
542
541
544
547
550
551
552
553
554
554
555
552
551
551
551
552
553
553
554
556
557
559
559
562
575
578
579
581
581
582
582
583
583
583
583
585
585
586
586
587
588
589
590
590
590
590
589
587
587
587
585
577
573
568
565
562
560
560
560
561
562
563
565
566
567
569
570
572
573
573
573
573
572
572
571
571
570
569
569
568
568
568
567
566
563
563
566
567
568
569
569
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
574
576
578
580
583
586
587
588
593
594
594
595
595
595
597
598
599
599
599
597
596
595
595
594
593
592
592
591
588
586
580
581
583
583
584
584
585
587
588
590
592
595
601
605
611
610
609
609
608
607
606
603
602
600
598
598
597
597
597
597
596
596
596
599
601
601
602
603
605
605
605
599
597
596
595
590
592
594
595
597
599
602
608
610
611
611
610
609
608
605
604
601
599
605
613
617
623
627
630
632
633
634
635
636
639
640
638
635
632
631
629
631
631
632
632
633
636
637
637
637
637
638
638
638
639
639
639
639
640
640
640
640
641
641
649
650
651
652
654
655
656
659
660
659
658
654
651
651
651
651
651
651
651
651
651
651
649
648
647
647
646
645
645
646
648
650
652
654
657
659
660
662
668
668
669
669
669
669
670
672
672
673
673
673
679
681
681
682
684
685
685
686
686
686
687
687
688
688
686
677
676
677
678
679
681
687
688
689
690
691
692
691
690
688
686
681
678
675
673
671
669
667
665
662
657
654
651
645
649
650
651
653
653
653
653
653
653
652
652
652
652
656
657
658
659
660
661
657
656
655
646
644
638
636
635
634
633
632
630
629
627
626
627
627
630
630
632
633
632
631
629
629
627
627
626
623
622
622
623
624
625
626
628
631
632
634
634
634
634
634
633
633
632
632
631
630
630
630
630
631
631
632
632
633
633
634
634
636
635
634
630
626
627
628
629
630
631
636
637
637
637
636
635
633
628
627
627
628
629
629
630
630
632
633
633
635
636
636
638
639
640
639
637
636
635
622
620
619
619
619
621
621
622
623
624
623
621
620
617
616
615
615
615
614
612
611
611
610
610
609
609
608
608
607
604
598
596
595
592
591
591
589
590
591
591
591
592
590
588
586
584
582
580
578
576
575
575
575
576
576
576
577
578
578
578
578
578
578
578
578
579
579
579
565
560
558
556
555
554
553
553
549
549
548
548
543
543
542
542
541
537
537
534
534
533
533
532
532
530
528
527
525
520
519
519
517
515
514
514
514
511
507
502
497
496
494
493
491
487
485
484
483
481
477
474
471
470
469
467
464
461
458
457
455
455
454
454
454
454
454
454
454
453
452
452
451
451
451
450
450
449
449
448
447
446
445
445
444
443
443
442
442
442
441
439
437
436
435
433
432
431
430
428
426
421
420
417
414
412
409
406
404
402
402
403
404
405
405
407
408
409
409
410
410
411
411
410
407
406
404
402
401
399
394
392
390
385
384
382
381
379
378
376
375
374
373
372
371
370
374
381
382
383
384
384
383
382
380
379
378
376
375
374
374
374
374
375
376
377
377
379
381
353
352
351
350
348
345
343
341
340
341
342
342
343
343
335
329
324
323
325
326
328
333
331
329
328
326
325
323
323
322
322
321
321
319
318
317
316
314
313
312
310
292
288
286
285
280
279
274
272
271
273
275
276
270
268
265
265
266
267
267
267
269
271
272
272
274
271
271
269
269
267
267
265
264
259
257
255
248
246
238
237
237
236
235
235
234
232
232
232
232
230
230
230
230
229
229
230
230
231
233
233
235
237
238
239
240
241
242
243
244
245
248
249
250
250
250
251
251
252
253
253
254
254
257
258
258
259
260
261
263
263
262
262
261
261
260
258
257
256
256
256
254
249
247
247
246
242
241
240
235
234
233
233
232
226
225
224
222
220
220
217
214
213
213
209
208
203
203
202
202
202
202
202
201
200
200
200
200
200
200
200
200
200
199
199
198
197
197
197
196
196
194
193
192
192
195
196
197
198
200
199
198
198
190
189
187
186
186
185
185
184
179
179
178
178
177
177
177
177
176
176
171
171
171
171
171
171
171
171
171
169
168
168
166
164
164
164
165
165
164
164
164
164
164
164
164
164
164
165
165
168
170
171
170
169
169
168
168
168
168
168
170
171
175
176
178
186
189
189
189
195
197
202
202
215
218
222
223
222
222
222
223
223
223
223
222
222
225
222
219
218
216
215
199
198
196
195
194
192
190
189
188
186
183
182
181
181
180
180
180
180
180
181
181
182
182
182
182
182
184
185
187
188
199
199
200
201
202
203
204
205
206
207
210
221
222
222
223
223
224
225
227
227
226
224
223
222
221
221
221
220
219
218
217
217
216
214
212
209
201
199
196
177
176
176
176
176
175
174
174
176
176
178
178
178
178
178
178
179
179
179
180
180
180
180
180
181
181
182
183
183
185
186
187
189
190
192
193
195
198
203
205
206
207
208
215
224
226
227
232
233
234
238
239
240
240
241
241
242
246
247
247
248
249
250
250
251
252
255
255
256
258
260
261
263
264
266
270
272
273
277
279
280
281
284
285
286
290
292
294
297
294
292
291
290
285
284
285
287
288
288
286
284
280
275
267
265
263
262
261
257
254
253
252
250
249
249
250
250
251
251
252
250
249
249
248
247
247
246
244
241
238
231
213
207
205
203
208
218
214
213
213
215
219
220
226
228
231
233
237
239
242
246
248
249
251
256
258
260
267
270
272
276
279
278
277
275
273
273
275
276
278
280
283
291
293
291
289
284
267
259
256
254
258
266
269
270
271
270
265
263
262
261
259
253
246
244
242
237
236
234
232
232
231
230
230
229
224
224
223
222
222
221
220
220
219
216
205
199
200
201
202
203
204
204
205
205
206
213
228
230
231
231
225
216
206
204
200
188
181
175
180
187
188
188
186
180
177
172
171
167
171
174
180
180
180
180
180
180
180
180
181
190
203
216
220
226
229
233
235
237
239
242
244
246
247
248
248
248
248
248
249
249
250
250
250
250
250
250
250
250
250
249
247
245
237
236
234
231
229
227
225
222
219
212
208
198
189
185
184
178
177
176
175
174
173
172
169
167
163
159
158
158
157
157
157
156
156
156
156
156
156
156
156
156
156
156
157
157
160
163
168
175
188
190
191
193
196
196
197
196
191
187
170
167
165
162
153
148
150
153
153
153
152
151
151
151
151
151
152
156
158
160
162
163
165
172
174
175
178
183
189
193
196
199
201
204
208
209
210
211
212
214
214
211
208
204
195
194
194
193
192
191
191
196
200
205
207
209
209
207
204
203
202
200
196
187
182
182
182
182
182
181
180
179
179
179
179
179
179
191
201
203
204
207
208
202
201
201
200
199
199
198
197
196
194
194
195
197
205
206
209
211
213
215
224
224
226
226
228
230
231
231
232
233
234
234
239
240
241
242
242
244
244
244
249
250
250
251
252
253
255
255
256
256
257
258
256
255
254
252
240
238
236
233
231
212
206
206
205
204
203
202
200
198
195
191
183
179
177
176
176
174
173
172
172
170
170
170
170
170
170
170
170
171
172
173
173
173
175
176
178
178
179
180
185
187
189
198
200
202
202
202
201
201
201
200
197
195
194
194
193
188
187
186
184
183
183
182
181
181
179
178
178
177
179
181
183
184
186
187
191
192
192
193
194
196
197
197
198
198
199
199
200
202
200
199
197
193
192
191
191
190
190
189
189
198
199
200
201
204
205
206
207
207
208
209
209
210
210
210
213
215
218
221
237
241
242
244
241
238
236
236
231
231
230
230
230
228
228
227
227
226
226
225
223
221
214
208
207
206
195
192
191
188
188
187
186
186
186
185
185
185
184
182
181
177
175
173
170
169
167
166
163
162
161
160
154
153
153
153
153
153
153
153
153
150
150
149
149
149
149
149
149
150
150
151
152
152
152
152
152
152
152
151
151
151
151
150
150
150
149
149
148
148
147
147
149
149
150
151
151
151
151
151
150
150
150
148
147
147
147
147
146
146
145
145
145
145
145
145
145
145
145
145
146
158
168
168
168
168
168
167
165
162
156
155
154
153
152
152
152
152
167
168
169
169
169
169
169
169
169
169
168
164
163
163
165
172
174
175
179
181
182
182
181
179
178
177
176
172
175
177
178
179
180
181
182
182
183
183
184
184
194
194
201
203
206
208
211
219
222
223
221
220
219
214
210
207
204
193
193
191
189
188
186
184
181
180
179
175
174
174
173
173
174
175
180
183
184
185
186
185
184
182
180
179
174
174
174
174
173
173
173
172
171
171
171
170
169
168
168
168
167
160
160
155
153
151
150
149
148
147
147
151
151
152
150
146
148
149
150
150
149
148
148
147
147
147
147
147
147
146
146
144
144
143
143
142
142
142
143
143
145
146
151
153
154
144
142
139
139
140
138
139
139
137
137
140
140
142
143
152
157
159
160
164
165
165
172
174
177
179
181
183
186
189
190
191
192
194
201
180
159
148
149
140
136
134
135
133
126
125
124
124
124
124
124
124
123
123
123
113
113
116
113
112
112
112
112
112
112
112
112
113
113
112
111
110
109
108
107
107
107
107
106
106
106
106
106
106
105
105
105
104
104
104
104
104
104
103
103
103
102
102
102
102
101
101
101
101
101
101
101
102
102
99
99
99
98
96
95
95
96
96
96
96
96
96
95
93
94
93
93
92
92
92
92
92
92
92
92
92
91
91
91
91
91
91
90
90
90
90
90
91
92
91
91
91
91
93
93
92
90
90
90
90
90
92
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
90
89
89
89
89
89
89
89
89
89
89
89
89
89
89
88
88
89
89
88
88
88
88
86
86
85
87
87
87
87
87
88
88
88
88
88
89
89
90
90
90
90
90
91
91
91
91
90
90
90
90
89
89
88
88
88
87
87
87
87
88
88
88
86
86
86
86
85
84
85
86
86
86
86
86
87
88
89
88
88
89
89
88
87
86
86
86
86
86
85
85
85
86
88
88
88
85
85
85
87
86
86
86
87
87
88
87
87
87
87
87
90
90
89
89
89
89
89
89
87
87
87
87
88
89
89
89
90
90
89
88
88
88
88
88
88
88
88
88
88
88
88
87
87
86
86
87
87
87
87
86
86
86
86
86
86
86
86
86
86
87
87
86
86
86
86
86
86
87
87
88
88
89
89
87
87
87
89
89
89
90
88
88
88
88
89
90
90
90
90
90
90
90
90
90
90
90
90
90
90
88
89
88
89
89
87
91
90
87
90
91
91
90
89
89
90
90
91
91
91
91
91
90
92
91
91
92
92
92
92
92
93
94
94
94
94
94
94
95
96
96
96
95
95
95
95
95
94
94
94
94
94
93
91
92
92
91
92
93
93
94
95
95
95
96
96
96
96
96
94
93
92
91
90
90
92
92
94
96
96
96
95
92
92
92
92
92
94
93
95
96
96
97
98
97
96
95
95
95
95
95
95
95
95
95
95
95
94
94
94
94
95
94
95
96
97
97
97
95
94
95
97
97
95
95
96
96
96
96
95
97
96
96
96
97
97
98
98
98
98
98
98
98
98
99
99
98
98
100
100
99
99
99
99
100
100
101
101
103
103
103
103
101
101
101
101
101
101
101
102
102
103
103
103
103
103
103
103
103
103
102
102
104
104
104
103
103
105
107
111
112
109
109
109
109
109
109
109
109
109
109
109
108
108
108
105
105
105
105
105
106
106
106
106
105
105
105
105
104
104
104
104
104
104
105
105
105
105
106
106
106
106
106
106
106
106
106
106
107
107
107
107
107
107
107
107
107
106
105
105
105
105
106
106
105
105
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
107
108
108
108
108
107
107
107
109
109
109
109
109
109
109
109
109
109
109
109
109
108
107
107
110
110
110
111
111
111
111
112
112
112
112
112
112
114
115
116
116
116
115
115
115
115
115
115
115
115
115
117
118
118
119
119
121
121
122
125
126
126
126
126
125
125
125