3
3
3
4
4
5
5
5
5
5
6
12
12
11
9
12
8
15
23
19
12
13
10
8
7
9
9
5
7
7
5
4
5
3
3
5
5
5
5
5
5
4
5
4
6
4
6
6
6
16
22
24
11
5
20
20
4
5
7
6
47
40
35
69
69
70
71
71
69
62
56
56
55
53
52
48
48
50
52
53
49
47
34
27
21
28
24
20
10
17
8
8
8
19
10
6
5
5
5
6
7
7
7
7
7
27
29
29
21
18
13
19
18
16
23
31
35
35
31
33
39
46
50
53
60
50
47
48
47
38
57
53
59
61
62
62
62
63
64
88
90
87
84
80
82
84
83
80
78
78
74
72
69
70
65
64
64
64
64
65
67
70
82
86
88
98
101
100
100
99
99
99
100
100
97
93
90
93
93
100
90
88
88
92
96
88
86
83
80
79
80
81
92
80
75
69
74
79
82
90
90
90
90
90
90
90
91
90
90
89
89
88
86
85
85
87
87
87
91
93
95
95
98
100
100
99
94
95
93
89
87
85
82
80
74
71
65
63
66
64
62
49
41
33
34
35
35
30
30
30
31
31
74
74
76
79
75
72
70
69
64
60
61
59
57
57
49
49
50
49
49
50
51
45
44
46
51
44
47
51
55
50
45
40
37
44
53
54
38
36
35
35
36
40
38
42
49
48
44
35
45
34
34
34
29
33
37
36
38
36
37
39
39
35
30
32
36
30
31
30
53
60
59
55
59
55
51
62
58
42
48
53
52
50
46
43
41
66
57
54
51
38
35
34
35
38
39
41
38
37
39
37
36
45
43
41
44
52
52
48
44
55
53
58
57
56
48
43
92
60
89
82
47
45
47
52
59
60
66
83
82
81
86
63
33
33
34
38
50
51
53
53
53
54
52
54
57
56
56
56
33
33
48
66
3
6
7
11
19
20
20
20
17
11
80
72
24
9
28
21
4
27
30
26
22
26
11
12
5
18
21
29
30
35
39
39
39
38
36
36
31
27
18
21
21
11
6
6
5
5
5
4
5
5
9
11
10
11
22
19
19
19
19
20
12
9
19
25
23
17
7
3
12
6
2
3
7
17
20
22
26
28
5
13
36
32
98
37
14
8
21
15
19
19
36
32
17
8
27
52
147
182
175
188
193
198
203
203
213
223
220
161
208
198
174
88
47
149
183
196
216
213
206
205
205
163
184
200
202
205
169
167
118
97
105
94
73
56
50
47
80
85
127
136
130
176
186
184
190
198
212
190
221
215
215
215
213
226
222
221
223
201
214
219
213
215
218
213
215
185
177
173
170
199
198
196
211
220
216
220
219
189
191
200
212
223
215
212
207
206
196
193
192
204
208
205
230
218
244
248
209
241
165
181
174
213
193
169
166
171
177
193
188
180
180
186
200
212
198
182
202
201
197
205
214
217
216
247
236
210
204
181
164
157
159
184
250
220
153
175
166
165
151
143
153
170
160
169
171
178
185
208
218
200
213
174
173
170
180
182
178
184
233
209
188
199
203
212
215
196
249
209
183
188
198
194
179
196
218
235
245
242
228
223
212
220
200
206
197
204
201
208
211
207
204
209
185
188
203
248
245
220
236
241
242
249
241
215
237
237
247
234
226
227
233
251
236
235
239
273
276
251
241
240
243
243
244
244
245
269
290
303
305
564
525
389
568
335
276
326
300
339
311
314
407
388
335
342
479
528
405
454
442
416
441
495
445
489
453
429
464
543
608
545
552
572
632
659
636
595
599
531
513
519
500
500
540
578
578
578
570
559
586
575
588
590
598
602
583
584
581
577
543
544
551
517
537
565
574
577
583
587
599
599
554
555
545
521
552
543
559
528
511
524
563
553
568
544
544
547
560
587
609
605
620
604
599
611
647
632
619
636
645
610
628
691
722
712
689
691
693
656
653
645
619
622
599
615
622
581
586
580
583
559
546
537
532
536
531
529
522
505
510
503
495
486
476
477
464
462
463
442
428
415
367
364
367
412
433
405
409
443
455
446
434
429
418
414
406
457
470
475
479
498
523
476
484
484
459
444
428
420
354
432
476
494
503
507
513
518
532
460
424
363
363
423
458
532
513
509
507
501
494
476
433
353
420
428
458
469
484
484
476
534
498
481
471
467
454
407
413
425
429
435
446
453
437
410
404
432
412
365
364
367
415
427
444
463
462
462
477
476
486
495
503
510
502
522
526
533
537
533
534
547
559
583
580
587
581
622
617
599
622
620
645
653
657
693
691
689
712
722
690
628
614
645
610
664
623
584
610
586
613
615
615
608
631
677
686
702
699
692
725
679
689
630
606
611
582
555
575
578
581
583
579
566
547
554
554
545
528
499
601
586
588
581
579
603
585
605
409
415
395
434
431
438
436
606
422
361
347
374
372
384
386
350
354
342
369
414
378
371
371
381
390
414
381
338
333
323
304
301
298
292
293
292
287
313
357
328
337
347
358
344
342
352
351
368
369
361
368
371
372
411
410
452
470
563
658
689
632
549
576
490
507
518
550
586
585
570
548
579
569
531
556
549
515
518
524
520
571
521
484
487
460
486
480
418
423
430
427
447
452
440
421
410
387
395
432
452
469
425
403
393
421
419
410
427
488
643
609
583
527
502
526
403
410
440
440
433
435
444
450
456
482
662
736
779
750
738
782
705
759
763
716
745
782
822
838
809
755
792
868
823
782
801
837
839
844
850
859
862
865
859
899
927
932
943
966
962
962
966
943
932
926
898
861
865
861
859
850
844
839
833
798
780
822
868
792
757
810
838
821
779
744
724
761
758
716
796
740
750
780
735
657
481
455
449
443
435
432
441
439
410
404
523
500
531
586
621
646
476
426
410
417
421
392
404
426
469
452
432
395
388
409
421
441
453
446
425
429
422
419
482
485
461
488
482
522
567
521
524
519
515
552
545
532
570
579
551
570
585
585
547
521
509
490
582
551
639
710
657
562
467
449
402
412
370
370
366
360
370
368
350
352
342
344
357
348
339
327
358
313
287
292
293
292
298
301
306
343
325
320
347
345
345
323
322
327
340
304
324
335
338
379
419
386
380
371
377
395
427
367
343
355
351
388
376
373
373
346
361
422
600
435
439
430
433
395
415
409
605
585
603
579
580
587
585
601
500
529
553
554
554
548
568
580
583
579
578
572
555
582
612
608
633
690
680
725
693
696
706
682
673
629
605
614
618
613
585
609
585
615
665
610
645
611
630
693
722
713
689
691
693
655
652
644
620
622
600
622
620
582
589
580
583
559
549
537
533
537
532
528
521
503
510
503
495
486
476
477
462
462
463
442
427
414
366
364
369
414
433
402
414
439
454
445
435
428
418
411
408
458
470
475
481
498
518
475
484
483
469
441
425
418
354
434
478
495
504
507
513
584
601
611
599
499
480
573
702
747
785
968
940
896
1129
856
999
1032
961
923
872
827
840
844
843
843
834
819
772
723
756
781
799
812
820
821
820
807
813
800
802
818
823
856
868
824
797
778
773
755
728
682
670
648
698
721
719
712
681
697
744
764
717
727
728
717
720
720
704
702
699
703
720
725
725
723
706
818
802
811
831
829
857
883
859
843
839
841
839
855
863
833
830
832
833
838
839
858
855
851
843
837
843
840
843
845
848
868
842
830
849
827
811
806
801
797
792
785
788
788
785
767
761
756
746
735
685
707
724
730
734
739
744
755
765
767
767
769
773
782
789
788
791
791
792
796
797
799
801
802
802
797
805
807
800
778
775
793
770
770
772
774
784
776
781
782
776
780
767
769
766
755
730
715
712
694
675
685
685
715
711
700
718
687
617
634
672
715
718
719
716
711
704
704
717
720
713
717
724
725
722
695
676
637
611
613
613
578
561
533
508
495
490
485
479
473
468
463
458
456
447
412
456
461
461
465
465
464
464
467
469
475
483
473
494
502
500
499
505
486
471
469
461
460
445
438
429
422
418
411
403
406
406
402
402
402
401
406
405
401
405
403
404
405
403
401
401
401
399
402
401
403
401
401
402
402
401
403
403
402
402
402
403
401
401
403
403
404
402
405
404
406
408
408
408
404
405
406
405
407
407
406
408
408
408
409
409
408
408
406
406
408
409
408
408
408
407
407
407
407
407
407
408
409
408
408
408
408
408
407
409
406
406
406
407
407
409
410
413
410
409
409
409
410
411
407
405
407
407
410
408
406
410
408
407
408
412
412
408
410
410
415
413
413
413
411
411
409
410
411
409
415
416
414
414
410
409
409
410
412
413
414
413
413
423
423
421
409
412
412
409
413
410
410
410
410
409
415
412
410
410
413
411
409
408
407
407
407
410
410
414
414
419
418
424
432
432
432
429
429
429
427
428
431
431
429
428
427
423
427
428
428
430
432
433
433
435
426
425
418
420
427
429
429
423
422
420
428
426
425
425
423
428
432
432
432
430
431
432
429
428
428
427
426
428
430
426
426
427
428
429
431
433
432
438
439
433
439
438
438
437
444
447
449
439
440
445
445
436
438
453
462
462
464
464
462
454
450
446
442
447
452
449
445
436
435
433
434
435
437
438
438
439
438
451
459
462
460
462
463
465
473
476
466
471
481
486
490
471
491
492
499
514
516
524
549
600
554
540
531
513
548
563
533
522
523
527
524
541
553
568
573
564
600
627
622
631
613
624
535
480
463
472
494
484
488
491
423
436
455
445
478
441
410
386
355
351
358
351
340
365
348
338
323
326
323
321
321
321
322
320
318
316
317
318
311
312
316
315
319
309
307
310
313
329
342
345
354
359
345
348
348
372
349
316
319
320
350
352
357
332
357
337
355
365
350
322
360
333
331
330
370
374
379
371
378
349
351
341
345
366
361
355
358
328
330
329
363
364
344
333
337
333
328
332
330
332
320
307
334
340
332
325
327
314
319
313
312
308
293
319
310
293
334
327
312
289
294
293
290
280
281
281
279
280
296
278
275
274
277
273
275
271
269
272
271
268
268
271
279
269
264
263
262
277
283
267
261
260
283
270
267
262
260
260
258
258
262
255
259
280
278
261
254
253
262
275
282
271
250
252
252
249
248
259
252
268
266
250
256
249
253
248
242
266
246
245
240
243
239
240
232
232
236
230
228
235
227
243
239
243
230
228
259
258
255
249
245
225
223
246
255
257
258
260
226
223
224
223
220
220
222
237
253
242
277
257
254
222
213
223
221
218
225
218
218
218
223
222
222
218
224
220
219
212
209
222
234
218
237
236
217
214
213
212
206
214
217
221
221
224
217
253
224
245
238
233
228
236
234
227
231
232
238
242
240
219
216
211
208
194
195
195
196
219
210
230
230
227
238
238
219
219
214
226
234
232
232
252
267
281
315
303
280
271
265
250
231
224
203
203
196
191
185
185
187
186
192
193
202
196
196
191
191
186
191
188
187
192
205
218
230
211
195
204
216
223
235
268
265
227
249
243
253
271
285
290
307
316
324
355
369
398
399
394
282
257
266
299
312
313
316
288
275
295
295
292
316
289
278
277
299
319
298
282
287
287
263
257
277
314
284
272
290
268
265
267
240
255
254
219
216
218
198
202
196
193
206
200
170
169
153
146
144
142
142
148
147
164
152
158
152
169
178
135
133
137
141
161
169
203
198
180
198
197
202
204
224
203
217
212
215
220
219
204
196
205
216
192
214
216
221
217
220
218
217
212
211
210
202
205
190
190
194
204
203
205
204
205
207
205
205
210
208
204
204
200
178
175
173
171
173
171
169
167
166
169
177
178
181
181
179
179
180
163
164
155
147
143
143
131
128
128
131
128
125
124
124
126
180
181
181
181
182
155
153
153
137
139
140
144
175
157
153
130
126
125
123
125
143
129
131
131
134
132
135
138
139
140
146
149
150
143
134
144
122
137
138
139
114
112
112
112
116
116
116
116
116
120
121
121
119
118
120
119
117
121
119
127
117
137
143
118
119
121
126
125
126
129
131
134
151
155
157
163
179
229
175
179
174
164
178
206
192
211
219
263
264
257
252
256
222
198
206
244
227
239
276
188
181
190
244
263
274
275
260
223
220
240
237
212
217
200
229
219
109
200
197
191
122
132
110
96
142
146
127
138
135
124
120
98
106
115
137
123
110
106
133
120
173
134
127
102
128
113
94
99
152
115
121
121
124
153
160
107
101
136
142
126
96
108
85
124
96
94
99
95
106
120
90
154
98
126
96
104
79
85
74
74
74
74
96
93
83
78
76
79
78
78
79
79
79
77
76
74
74
74
76
77
77
76
84
85
82
78
74
74
74
78
81
83
96
83
77
76
87
94
90
96
104
107
100
94
90
98
93
91
84
83
80
77
77
73
73
72
74
73
69
68
71
73
71
70
71
69
70
71
71
71
75
78
74
71
71
74
81
79
76
75
76
71
70
71
80
83
92
92
93
93
87
79
76
76
76
74
75
75
75
76
77
73
69
70
76
75
81
75
87
85
81
83
83
86
85
86
90
80
78
84
84
86
84
76
81
85
76
77
85
89
89
79
79
87
77
71
70
67
69
66
68
70
74
81
92
77
82
94
89
87
86
90
92
91
83
79
87
91
92
83
89
91
80
81
80
76
85
92
88
82
88
82
79
81
74
81
70
85
77
72
77
64
69
66
69
82
84
109
111
117
123
125
127
121
130
130
130
130
132
133
135
136
136
135
133
133
128
119
120
121
120
114
114
115
112
114
109
106
102
98
103
104
104
95
94
88
86
82
77
77
69
69
66
63
63
63
61
62
62
61
63
62
62
63
62
61
61
62
61
62
56
62
62
61
64
65
69
67
67
68
67
66
74
71
63
65
70
71
97
86
98
94
104
118
118
109
92
74
72
100
92
118
114
105
114
113
110
112
114
115
124
111
114
110
107
107
99
103
107
111
141
107
120
170
150
141
149
172
174
152
150
125
100
115
144
133
127
147
137
142
127
140
137
125
139
146
142
142
139
139
143
145
143
138
125
126
126
111
109
113
120
112
75
70
75
78
103
77
62
90
46
70
74
58
58
97
56
57
95
51
61
61
40
84
47
102
56
69
46
44
52
63
46
63
49
44
50
43
46
52
55
108
111
104
114
116
117
113
106
109
105
112
110
107
106
104
100
100
92
96
106
84
101
84
84
107
105
97
99
104
100
99
103
106
88
87
92
60
103
100
98
104
92
80
76
57
48
55
73
84
92
64
53
66
92
83
80
93
70
97
101
75
67
88
60
48
39
46
45
39
25
26
31
63
64
62
55
53
50
42
37
35
43
46
52
52
53
53
53
54
50
53
53
52
52
73
70
70
69
72
62
63
65
64
62
61
58
55
53
51
46
47
40
40
36
36
33
33
31
30
30
33
34
32
31
16
15
15
15
18
21
22
22
22
20
21
23
24
26
26
18
13
13
13
12
9
9
8
7
6
8
7
6
5
5
9
8
11
10
9
12
10
10
10
11
11
15
11
8
9
9
9
9
8
10
14
10
10
10
12
12
13
10
11
11
10
5
5
6
7
8
8
6
8
8
9
10
13
13
13
12
22
22
21
21
24
15
11
11
12
12
19
4
1
11
13
15
17
27
43
47
46
40
49
52
50
49
47
48
48
61
58
58
59
60
57
57
65
65
60
61
62
67
76
64
72
70
67
61
61
61
61
61
75
78
90
90
89
90
79
79
79
79
79
86
86
86
85
84
90
89
91
94
81
69
70
75
73
71
70
92
101
90
97
87
84
102
94
71
86
91
89
85
74
81
85
75
50
39
42
37
43
45
46
41
42
35
73
78
92
94
88
71
32
32
36
34
34
31
38
50
55
25
38
43
86
91
95
95
82
87
78
82
85
55
83
94
81
87
46
74
31
63
29
29
25
22
37
29
35
54
46
63
39
33
46
93
35
41
43
34
39
44
42
33
38
27
25
17
19
22
44
27
30
41
39
41
39
38
24
31
38
27
31
46
61
42
48
84
85
49
43
55
64
74
75
59
61
58
59
62
48
54
51
52
48
34
35
43
43
44
48
38
34
39
38
36
32
29
29
31
37
36
34
35
40
40
36
25
22
16
14
15
26
26
28
30
29
27
25
29
31
30
30
35
34
30
35
38
38
41
42
49
37
49
52
46
74
53
41
53
56
50
52
47
38
27
21
18
15
13
11
12
14
12
13
20
15
8
6
6
7
6
8
7
6
6
7
13
21
13
23
33
22
21
12
19
16
18
19
13
15
21
25
26
14
12
10
20
17
24
25
24
16
19
25
30
28
29
30
36
28
31
28
23
29
29
29
31
32
31
31
28
28
24
33
29
35
26
21
16
23
23
35
42
35
26
29
28
32
44
51
33
36
38
45
51
52
58
57
52
49
47
43
44
43
62
31
32
24
49
50
60
50
50
75
39
71
112
83
116
67
164
83
121
90
97
90
106
89
87
117
88
92
164
214
274
233
169
243
298
297
294
305
286
274
297
283
244
235
267
269
278
257
269
264
265
295
277
275
273
247
251
213
203
199
203
193
202
182
197
189
189
191
190
189
194
162
148
147
149
155
151
88
73
68
73
78
74
71
67
67
65
68
70
70
80
63
142
187
203
205
200
127
105
159
179
88
174
150
177
152
159
124
173
174
189
185
222
234
185
173
163
177
190
191
173
147
209
215
195
181
109
111
112
144
180
184
231
251
254
254
200
182
169
226
253
328
328
336
267
246
269
306
278
349
351
355
261
245
262
249
238
214
245
279
239
235
238
250
248
246
247
246
247
247
245
244
238
235
235
235
235
236
202
200
229
236
224
258
255
218
183
235
234
233
251
221
227
229
252
270
291
320
312
299
286
218
179
181
191
221
198
184
176
179
159
149
120
127
137
141
196
155
192
208
231
241
248
265
266
254
252
265
281
266
269
250
262
241
263
223
289
294
284
291
292
301
300
305
308
310
317
316
322
337
316
334
329
337
326
314
333
306
271
246
249
243
242
249
324
322
299
309
309
308
308
308
307
307
310
303
269
226
222
215
201
200
204
204
207
208
252
196
199
199
172
168
164
158
155
166
174
175
182
182
182
184
186
185
178
178
179
179
178
199
198
193
184
181
175
180
177
181
206
199
188
185
183
184
175
185
191
194
194
201
211
212
214
215
242
243
244
213
262
281
328
238
236
223
278
301
289
252
268
252
246
244
290
324
328
276
218
185
220
219
255
182
171
184
208
210
184
192
177
160
194
169
184
151
172
155
170
163
169
161
149
154
129
121
153
154
154
140
142
129
147
124
132
135
133
109
142
148
149
111
131
148
117
113
136
136
138
140
118
112
98
105
100
102
99
101
101
97
96
101
97
99
95
92
94
94
92
96
94
94
94
93
86
88
88
89
89
87
88
91
89
87
89
90
91
93
95
98
100
100
98
97
94
90
80
80
84
102
100
97
95
93
91
90
92
94
96
99
103
102
99
98
98
100
103
107
107
105
105
104
112
110
102
99
113
118
118
109
110
110
109
98
93
94
93
89
89
89
89
88
84
84
83
83
83
83
84
83
83
84
85
86
86
86
85
85
101
97
93
95
100
105
101
101
100
100
101
102
112
122
138
117
110
139
126
132
142
135
120
137
135
110
131
138
130
109
96
95
143
112
130
125
91
97
107
102
116
123
126
130
90
96
106
94
98
90
91
99
109
99
90
107
102
99
87
84
120
89
109
118
131
128
133
145
137
108
122
149
144
161
143
146
144
104
86
86
106
126
107
134
93
116
89
86
88
128
154
181
118
146
158
117
165
119
151
109
182
119
144
169
171
180
171
145
116
158
93
91
88
81
80
100
148
130
108
107
104
120
134
109
92
92
91
101
94
101
158
137
118
107
92
82
89
94
112
95
118
143
144
113
149
81
85
87
96
141
129
116
155
142
132
132
153
125
115
117
105
117
120
126
131
157
156
142
145
124
121
111
147
105
94
112
111
109
96
93
95
95
108
96
101
101
100
99
94
117
83
83
84
74
209
134
147
175
82
100
93
95
77
104
106
139
143
142
101
107
183
109
107
170
138
112
136
103
118
125
128
119
168
89
97
91
84
99
104
94
68
110
82
60
103
63
68
68
85
76
55
59
59
72
99
96
94
85
57
96
49
45
43
40
54
17
22
32
7
39
19
22
36
18
84
31
40
113
103
58
43
70
106
78
115
74
124
95
117
129
99
96
102
115
140
119
95
107
114
130
130
130
130
166
164
162
170
119
102
107
128
141
136
133
135
135
178
111
143
189
190
179
99
103
110
108
188
208
173
163
199
192
203
135
162
149
142
159
174
163
139
132
190
167
174
170
182
166
219
199
181
135
101
125
164
131
172
133
126
194
173
127
159
140
201
237
220
249
276
260
273
285
216
206
195
186
107
130
92
95
121
117
77
97
107
104
151
103
132
137
119
151
148
155
148
173
156
166
185
181
187
208
215
292
266
217
208
204
203
237
167
167
193
186
110
109
99
118
92
99
83
99
88
71
72
77
89
100
109
98
138
169
92
153
173
160
148
118
118
94
107
114
122
133
105
171
142
83
83
89
102
146
120
141
117
151
135
140
141
140
146
149
102
123
88
141
141
141
137
129
70
60
129
189
193
127
128
130
124
85
79
77
73
95
182
131
138
133
142
117
119
101
93
153
146
147
136
170
148
124
120
130
170
171
181
138
171
188
199
181
130
140
118
119
120
128
88
117
112
149
146
123
126
165
134
139
100
79
126
139
191
166
182
137
138
119
168
163
174
129
141
134
118
113
96
133
90
75
105
130
132
161
129
101
103
109
106
93
157
180
196
173
181
166
162
157
150
138
138
154
146
143
144
150
142
102
151
157
153
132
91
111
115
103
108
118
129
135
128
131
130
138
142
140
131
131
135
137
143
146
148
146
149
151
166
160
149
139
109
92
83
71
66
64
67
47
43
45
44
43
51
39
37
31
28
28
41
45
56
33
32
23
29
32
19
18
16
15
15
17
17
18
17