4
4
4
4
4
5
5
6
6
7
9
12
12
12
12
12
12
13
13
13
13
12
12
14
16
16
16
16
18
19
19
19
18
18
18
18
18
18
20
20
19
18
18
18
20
21
22
22
22
22
22
20
20
20
20
20
20
20
19
19
19
19
19
19
19
19
22
22
22
22
23
24
26
27
28
28
28
28
28
28
28
29
29
29
31
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
31
32
32
33
33
33
33
33
33
33
33
33
33
33
34
34
34
34
34
35
38
40
40
40
40
41
41
41
40
40
40
39
39
39
39
39
40
40
41
41
40
41
41
42
45
45
46
47
48
48
49
50
51
53
54
56
57
57
58
60
61
62
62
63
64
64
65
65
65
65
67
67
68
68
69
69
69
70
70
70
70
71
71
71
71
71
71
71
74
77
78
79
85
109
110
116
115
114
113
118
120
121
125
134
136
141
141
142
143
143
144
148
151
151
152
154
154
153
153
152
152
152
152
152
152
152
153
153
153
153
156
157
158
159
161
162
164
171
174
177
178
180
182
183
184
188
189
191
192
193
194
193
192
191
190
189
189
190
191
194
198
200
201
202
204
207
209
209
210
210
211
211
214
215
217
218
219
220
220
222
222
222
222
222
222
222
222
222
227
229
231
230
229
230
232
235
237
239
241
242
243
244
245
246
247
247
246
245
244
242
245
246
247
249
250
252
253
254
255
255
255
254
254
254
255
256
258
260
262
265
270
273
273
273
273
272
271
270
269
262
264
263
262
261
261
251
237
234
231
235
241
245
248
252
256
256
255
252
246
238
234
200
189
176
175
169
164
163
162
162
171
168
166
165
165
164
161
161
160
160
159
158
157
156
155
153
151
148
145
145
145
145
145
148
150
161
164
166
178
183
181
180
179
178
186
195
201
209
214
224
227
230
232
235
237
243
245
245
245
246
249
254
248
245
240
241
244
245
246
247
248
251
252
254
255
255
255
256
257
260
266
268
269
277
280
281
286
286
288
290
290
290
292
293
294
302
304
292
291
291
291
290
290
290
290
291
291
292
293
296
297
298
299
301
306
307
307
307
306
306
305
305
304
303
303
304
307
308
309
311
312
313
314
314
315
315
315
316
316
316
316
316
317
317
318
319
320
320
323
329
336
336
337
337
339
339
341
340
339
339
338
336
334
322
318
315
319
323
327
325
321
318
315
311
295
282
268
265
260
255
252
245
243
241
236
230
229
227
227
222
220
213
207
206
206
200
199
198
194
194
193
191
190
186
182
174
173
169
167
167
165
165
164
162
159
159
159
159
159
158
158
158
158
157
157
156
154
154
152
151
152
152
152
152
152
153
154
155
155
151
151
151
151
157
158
161
159
157
156
156
155
155
155
156
158
159
161
162
162
163
164
165
165
165
164
164
164
164
164
164
157
151
151
151
151
151
151
151
151
151
151
154
154
154
154
154
154
153
153
153
153
153
154
154
154
156
156
156
156
156
157
157
157
157
157
157
158
159
159
160
162
163
168
169
172
173
173
175
175
177
179
180
181
193
195
195
195
196
197
197
197
198
198
198
200
201
201
197
196
194
193
193
192
191
189
190
191
193
194
196
200
197
196
196
194
189
188
186
184
184
187
188
195
196
197
198
201
202
200
199
196
196
195
193
192
192
193
194
196
198
200
202
206
207
208
209
211
211
212
213
217
217
219
221
224
225
225
223
222
220
217
204
207
215
217
218
230
230
230
230
230
233
241
244
248
257
254
242
222
222
225
226
226
225
223
222
214
212
209
207
204
192
190
189
189
189
189
189
190
190
190
191
192
193
193
191
191
192
192
192
192
192
192
193
193
193
194
194
194
194
193
193
193
193
193
193
193
194
194
194
195
196
196
197
197
197
197
197
197
197
203
204
204
205
205
205
206
207
207
208
209
210
210
210
210
210
210
210
210
210
210
209
209
209
209
208
208
207
205
203
203
204
205
206
206
206
206
206
207
209
210
211
218
218
219
220
225
226
227
228
241
261
269
274
274
276
277
278
280
284
284
282
280
272
268
265
262
265
266
267
269
274
279
277
275
273
272
271
271
271
271
271
274
287
305
313
317
313
301
296
290
286
286
286
286
286
286
283
281
281
279
274
270
273
302
310
312
311
310
307
306
306
306
306
303
300
288
288
288
288
288
288
288
288
288
288
288
290
290
292
294
295
295
297
297
301
302
302
303
305
308
309
311
312
314
317
319
319
320
320
320
318
319
319
320
321
321
322
322
322
322
322
323
323
325
326
330
333
335
341
349
351
352
353
354
353
353
353
353
350
348
345
327
325
325
324
323
323
322
321
320
319
318
317
315
315
314
313
313
312
312
311
310
310
310
310
311
311
311
311
310
308
306
305
304
302
303
305
306
308
310
318
320
322
326
325
324
324
323
321
318
315
312
308
304
301
297
292
289
293
296
299
328
330
336
339
342
344
346
350
352
352
352
353
353
354
355
358
359
360
361
362
362
362
363
363
363
363
363
358
356
353
352
350
348
344
345
346
347
349
351
352
354
358
366
369
370
371
372
373
374
374
375
377
380
381
381
381
385
387
390
392
396
400
408
414
417
416
415
414
413
412
412
410
409
409
409
409
409
409
408
407
406
403
403
401
399
389
390
390
392
392
382
380
380
379
379
378
377
377
376
376
371
370
368
366
366
365
365
364
364
365
369
371
373
374
375
378
381
384
385
386
389
390
391
396
396
397
401
402
402
404
404
404
400
397
394
390
385
384
381
379
373
368
367
365
364
363
361
360
360
359
359
358
357
357
356
356
356
356
355
353
352
351
350
349
347
347
347
346
346
346
346
345
345
345
345
346
347
347
348
348
349
349
349
349
350
383
382
382
379
372
364
364
363
363
362
366
375
378
377
376
376
370
370
370
370
371
373
374
374
373
373
376
382
383
384
389
392
399
398
397
394
392
391
390
390
389
389
389
391
392
395
395
396
396
397
397
397
395
393
392
391
391
389
388
388
388
388
388
388
388
388
388
388
389
394
401
402
403
405
408
412
417
422
424
427
428
428
428
428
428
428
428
423
422
422
422
425
426
427
428
428
429
433
439
442
441
441
441
440
440
440
440
441
441
443
444
446
444
443
444
448
448
447
445
444
443
443
442
440
436
435
432
431
429
429
430
430
431
433
433
434
435
436
436
436
436
434
433
432
431
430
438
440
440
442
443
448
451
453
454
454
452
451
450
448
446
446
446
446
446
447
447
447
447
447
447
447
447
446
446
446
447
448
450
453
454
455
456
457
458
460
461
463
464
464
466
469
469
469
470
473
475
477
479
480
480
479
479
480
481
481
482
482
482
484
484
485
486
491
492
492
493
493
493
506
506
512
516
518
525
528
530
527
518
517
517
517
516
514
507
504
502
495
491
488
483
481
481
480
479
476
474
472
469
465
464
464
462
461
461
457
454
453
453
450
449
448
451
452
452
453
461
461
461
461
461
463
465
466
468
471
473
475
483
485
488
494
503
504
504
501
500
496
496
481
480
480
480
480
480
481
481
482
482
485
485
486
487
487
487
487
487
485
485
484
483
490
495
499
502
502
500
499
499
497
493
492
492
493
493
493
494
496
497
498
499
501
503
503
504
506
507
509
514
516
519
521
522
528
533
534
537
538
548
551
559
562
565
569
571
570
569
568
567
565
563
567
589
597
605
607
611
616
617
618
619
621
622
624
624
623
624
626
629
633
636
643
648
651
654
649
647
645
643
641
644
645
648
657
663
665
672
675
675
675
672
671
667
665
663
662
661
660
658
657
654
654
653
653
653
653
655
656
657
658
658
659
661
662
663
664
665
666
666
666
666
666
666
666
666
666
666
666
666
667
671
673
674
676
677
679
679
679
679
679
679
678
677
676
676
675
671
671
671
671
671
671
671
671
669
664
664
663
663
663
662
662
661
661
660
660
660
659
659
659
656
654
652
643
637
635
634
633
632
631
627
625
621
619
616
616
615
612
611
610
605
591
584
584
584
584
583
582
582
581
581
581
581
578
571
564
561
566
567
567
565
560
559
557
556
555
549
547
547
547
547
547
547
547
547
547
547
547
548
548
549
549
548
548
547
547
546
545
544
544
543
542
538
533
531
530
529
528
527
525
522
522
521
521
520
519
518
518
518
519
519
519
519
519
519
518
517
513
512
512
511
510
507
506
504
503
500
500
499
498
495
492
490
489
490
491
493
494
495
496
496
502
505
506
506
511
513
516
527
531
533
533
537
539
540
544
544
546
547
549
550
552
553
554
555
555
552
550
549
549
548
547
547
546
548
556
559
561
563
565
566
566
567
567
569
569
570
571
572
572
572
573
574
575
576
580
583
588
585
584
581
577
577
577
577
577
577
577
580
586
589
591
594
599
601
605
611
619
622
625
627
631
633
638
638
635
632
629
628
625
621
606
603
603
601
599
599
598
598
599
603
604
606
608
610
611
617
618
620
622
623
624
625
622
613
611
609
608
606
603
607
607
608
609
611
617
627
633
635
632
627
624
624
622
620
619
617
616
613
609
605
603
603
603
601
601
598
597
597
596
595
593
597
604
608
608
606
607
608
609
610
611
611
613
613
614
614
614
614
614
614
614
614
614
614
615
615
617
618
620
621
622
625
627
628
630
631
632
633
634
635
635
635
635
635
635
636
636
637
638
638
639
640
642
644
646
648
648
648
648
648
648
650
655
657
660
661
663
665
666
667
668
669
672
675
677
678
676
676
674
671
669
669
669
669
668
668
666
665
664
663
661
659
661
663
665
666
668
663
661
659
657
654
652
653
654
654
655
655
653
648
644
638
632
630
631
632
634
632
629
628
627
625
625
625
625
625
626
640
641
648
653
661
664
665
666
669
671
675
681
688
701
702
709
707
705
704
699
697
697
701
709
710
712
708
704
690
688
686
684
676
677
678
680
684
692
699
705
708
712
715
712
702
700
696
692
689
678
673
654
653
653
653
653
653
653
653
653
652
652
652
651
651
650
648
644
641
637
633
630
628
624
621
618
617
618
619
620
622
628
629
630
630
631
632
634
635
635
637
637
641
650
654
658
663
672
674
664
643
639
631
630
626
623
621
621
620
619
621
622
625
627
616
593
586
572
567
562
554
552
549
550
556
554
547
530
491
469
462
447
437
432
429
429
429
429
428
428
426
424
418
418
415
413
411
407
381
376
375
374
374
373
372
371
368
368
367
366
362
360
353
351
350
349
348
345
345
345
345
345
345
345
344
344
344
343
343
343
342
342
342
343
343
344
345
347
348
348
348
349
348
346
345
344
337
337
337
336
336
336
336
335
335
330
330
336
336
336
336
336
336
336
336
335
313
312
311
310
308
308
308
308
308
308
308
302
301
302
302
302
301
300
293
293
293
292
287
283
280
279
279
278
278
278
273
273
269
269
266
263
264
264
263
262
261
261
261
262
262
261
256
253
253
254
254
255
262
262
262
266
266
255
255
252
250
255
256
257
258
260
260
261
261
261
261
261
261
261
261
261
261
261
262
263
264
261
260
259
258
257
256
253
250
246
246
245
244
242
236
234
231
230
227
222
229
231
236
241
240
237
237
238
235
229
219
220
218
212
210
208
206
206
210
211
214
215
215
215
215
211
204
209
215
218
220
222
223
226
229
216
214
212
211
211
210
210
210
210
210
185
190
194
180
181
182
180
177
170
168
164
161
161
162
162
163
164
164
164
164
164
164
165
167
170
170
170
170
170
169
161
161
159
161
161
161
161
160
160
159
156
155
140
140
140
133
133
129
128
125
121
120
120
119
116
119
116
108
104
104
107
105
105
104
104
104
104
103
109
108
108
108
107
105
105
105
105
105
105
105
105
105
105
105
105
105
101
101
102
103
103
101
101
101
101
101
101
101
102
103
103
102
102
102
102
101
100
99
99
99
97
96
93
93
92
92
92
93
94
93
93
93
90
90
90
89
91
95
99
92
91
91
90
90
90
89
89
89
86
86
86
87
87
86
86
86
86
86
88
90
91
90
89
89
89
89
89
89
90
90
91
92
92
93
93
93
90
89
88
88
88
88
88
89
89
89
89
89
89
88
86
85
83
82
81
80
79
79
79
80
82
82
82
82
81
81
81
81
81
80
80
78
76
73
73
73
80
89
89
90
90
91
91
91
86
81
80
77
76
73
72
71
69
69
75
77
79
80
86
87
86
86
89
92
93
97
95
88
85
90
76
74
74
75
76
76
77
77
77
77
76
74
70
62
64
64
61
61
61
61
61
58
58
58
58
62
70
67
64
65
66
66
67
68
68
68
68
68
76
74
74
76
77
78
78
77
76
73
94
85
76
68
64
57
57
58
55
55
57
61
61
62
62
63
63
64
65
65
67
67
67
67
67
67
61
58
58
56
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
46
46
46
45
45
43
42
41
41
41
41
41
41
41
41
41
41
40
38
38
38
37
35
35
35
34
34
34
34
34
34
34
35
33
34
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
36
36
34
34
34
34
34
34
34
34
34
34
34
34
33
33
33
33
29
29
29
29
29
29
29
29
29
28
27
27
27
28
32
27
24
22
26
27
28
28
28
28
28
27
27
27
27
27
27
27
27
24
24
24
24
24
24
24
24
24
25
25
25
25
25
26
26
26
23
20
20
20
19
23
23
23
22
22
21
21
21
21
21
22
20
20
20
20
20
20
20
19
18
17
17
17
18
18
19
19
19
19
20
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
21
21
21
21
21
20
21
21
21
22
22
23
23
23
23
22
21
21
21
20
20
17
17
17
17
17
16
16
16
17
17
17
17
17
18
18
17
17
17
17
17
16
16
16
16
16
16
16
16
15
15
14
13
13
13
13
13
12
12
12
13
12
11
10
10
12
11
11
11
11
11
12
13
13
13
12
12
12
12
12
12
12
12
11
12
11
11
11
11
11
11
10
9
9
9
9
8
8
7
7
6
6
6
6
5
5
4
4
4
4
4
3
3
3
3
3
3