296
296
296
296
296
297
297
297
295
297
297
297
297
298
298
299
298
298
298
298
295
295
294
295
295
300
305
308
304
304
304
304
304
304
304
307
307
306
305
305
306
306
305
305
305
306
307
307
307
307
303
300
300
303
304
305
305
305
299
298
299
301
302
306
304
300
294
292
292
292
291
294
299
304
304
304
303
303
303
303
304
304
304
302
300
300
301
303
303
303
303
303
303
303
302
302
298
295
295
295
294
296
292
292
293
293
288
289
289
289
289
290
290
291
290
290
290
291
291
291
291
291
291
291
291
291
291
291
289
289
289
289
289
289
289
289
289
291
291
291
291
291
291
292
292
292
292
293
294
294
294
294
294
294
294
291
291
291
291
292
292
294
295
297
300
303
303
304
306
306
306
312
314
317
317
321
320
321
323
327
329
329
329
330
333
338
342
349
349
355
360
367
373
374
374
376
378
382
385
387
386
386
387
388
390
393
400
403
406
409
420
420
420
419
419
419
424
430
432
434
435
434
434
433
433
433
435
436
437
438
440
441
441
441
442
442
442
443
443
443
444
446
449
451
454
456
457
459
459
459
458
458
457
457
457
457
459
468
472
471
469
467
465
465
470
474
477
479
481
481
481
481
481
482
483
485
486
486
485
483
483
482
482
482
482
482
482
481
479
477
476
475
474
474
474
470
469
469
469
469
469
469
469
469
469
469
468
468
472
471
476
476
476
476
476
476
476
477
478
478
478
478
477
477
477
477
477
477
477
477
478
478
478
478
478
478
478
478
478
478
479
479
480
480
480
481
481
481
481
482
482
483
485
485
485
485
485
485
483
483
483
484
485
485
486
486
486
487
487
487
489
490
492
496
498
498
498
495
495
494
494
493
493
492
491
490
490
492
495
494
493
492
492
492
492
492
493
494
494
495
495
495
494
493
493
494
495
496
496
496
496
497
497
500
507
515
519
516
517
518
519
521
523
520
517
513
509
503
499
496
490
491
478
477
477
477
477
476
476
476
477
477
474
474
476
479
482
484
484
485
485
483
483
486
488
491
490
487
486
486
483
480
485
489
489
489
486
483
481
482
484
484
484
484
480
478
476
477
477
476
474
471
468
471
480
479
476
472
466
465
466
469
474
474
470
468
465
463
462
461
461
461
461
460
459
459
460
459
458
458
458
458
457
457
458
459
459
459
460
460
461
461
460
460
457
457
456
456
455
455
455
455
460
460
461
462
463
462
461
460
460
460
460
460
460
460
461
461
462
463
462
462
462
463
463
463
463
463
463
465
466
468
471
471
471
471
470
470
470
471
471
474
474
475
478
478
482
484
486
487
488
489
490
492
495
496
497
497
498
499
499
499
499
499
500
500
501
501
501
501
502
504
505
507
509
512
512
513
513
513
514
514
515
515
515
515
516
519
523
526
529
531
532
532
532
532
532
532
532
532
534
535
535
536
536
536
537
537
537
537
538
538
538
539
539
545
546
547
548
549
550
551
552
552
553
555
556
558
559
563
565
565
570
571
572
578
580
582
583
584
584
585
585
586
586
588
589
590
590
591
591
591
596
600
606
607
607
610
612
614
614
612
611
610
610
611
613
613
616
618
619
619
620
621
622
623
623
625
625
625
625
625
625
625
625
624
624
623
623
621
619
615
613
611
608
602
596
592
587
587
587
596
598
599
600
601
601
599
597
595
592
587
590
593
594
595
596
597
597
598
599
599
600
600
601
608
597
597
596
596
596
595
594
593
588
588
588
588
587
586
585
585
590
590
590
588
588
588
589
589
592
595
596
597
595
594
593
592
590
590
590
589
589
589
589
589
589
587
586
585
584
583
583
581
581
580
579
579
578
577
574
573
572
571
570
568
566
563
559
556
555
554
547
547
547
547
546
545
545
542
541
540
538
537
537
537
536
536
536
535
534
533
533
532
532
532
532
532
532
532
531
531
531
531
531
531
532
532
532
532
532
532
532
532
532
531
531
531
531
530
530
530
530
530
530
529
529
529
529
529
529
529
528
527
526
525
525
527
528
526
525
519
519
524
525
530
533
533
540
540
540
540
540
540
539
539
539
538
538
538
537
537
537
538
539
539
541
543
538
550
550
546
539
539
539
539
539
539
539
539
539
532
532
537
541
543
551
551
554
556
556
556
557
558
556
556
554
550
549
549
545
545
541
540
539
539
539
539
540
539
539
538
537
536
536
536
536
535
534
535
536
537
537
539
544
547
548
548
548
548
549
551
551
552
552
552
552
552
554
558
559
560
562
562
562
562
561
558
555
555
551
551
551
552
552
553
554
555
560
561
561
561
561
561
560
559
559
559
559
559
559
560
561
561
562
563
563
562
562
560
560
560
564
567
568
585
597
601
602
605
608
609
612
612
613
614
614
614
614
615
616
617
618
619
620
621
624
626
627
628
631
633
637
643
646
664
664
658
654
651
644
636
634
635
637
638
639
645
644
644
644
643
636
634
633
633
633
628
622
616
614
610
608
603
603
602
602
600
597
596
596
595
593
590
586
586
586
590
590
590
585
583
578
574
570
569
569
569
568
567
567
567
567
566
562
562
562
560
560
560
560
561
562
563
563
564
564
564
564
564
564
564
565
566
566
566
565
565
567
567
568
572
573
573
575
577
579
581
582
585
585
588
589
589
590
591
592
593
595
598
604
610
621
620
615
613
611
608
606
605
602
602
600
598
595
594
589
585
581
572
572
571
571
570
569
565
563
563
559
555
549
546
545
543
542
541
540
539
538
538
536
535
535
534
531
527
523
521
521
519
513
504
503
503
501
498
497
495
492
492
492
492
492
492
492
489
487
485
483
481
480
476
472
469
464
462
459
456
454
465
464
464
463
459
456
453
453
452
443
437
435
435
435
436
437
438
439
439
440
441
441
441
441
441
441
441
441
441
441
441
446
446
446
447
449
450
452
452
453
457
459
462
463
463
466
467
467
464
464
463
463
463
462
462
462
461
459
451
449
447
447
448
452
452
451
450
449
449
449
451
451
449
449
449
449
450
453
453
455
455
456
458
461
463
462
461
461
461
461
461
461
464
464
464
465
464
463
464
467
472
482
488
494
499
500
509
510
511
514
520
523
530
530
534
537
539
542
540
539
538
544
549
551
546
544
539
538
538
536
535
537
539
539
539
539
539
539
539
540
540
540
540
540
540
542
543
545
544
543
542
541
541
540
535
530
526
526
527
528
528
527
526
526
523
520
518
515
513
511
506
497
496
495
494
494
494
494
494
493
493
493
492
492
491
491
491
490
490
490
488
488
488
488
484
483
483
483
482
482
481
481
475
474
473
472
470
469
468
467
467
465
463
462
461
459
457
457
457
457
453
451
450
449
446
442
439
439
438
437
437
435
434
433
439
441
443
445
446
449
450
450
450
446
444
440
439
434
434
432
430
427
418
416
414
406
404
403
403
402
402
402
403
404
407
415
417
418
419
416
415
414
413
413
413
413
412
412
412
413
416
416
419
420
421
423
424
425
426
427
431
434
434
431
432
431
427
420
417
415
414
413
409
403
394
382
376
372
372
372
372
372
371
369
366
362
356
348
344
342
337
331
330
328
328
328
323
319
313
310
308
306
304
302
299
298
296
293
287
285
283
279
275
274
270
270
269
269
268
266
264
262
261
259
255
252
251
250
249
249
249
249
248
247
244
242
242
241
235
234
232
231
231
230
229
229
228
226
222
220
217
216
216
216
217
217
217
218
218
218
219
219
219
218
217
216
214
213
212
209
209
208
208
207
201
200
198
196
196
195
194
193
192
191
190
189
189
187
187
187
187
186
185
184
183
182
181
180
179
178
178
177
174
173
173
172
171
170
169
168
163
163
162
161
161
159
154
152
152
152
152
152
152
152
152
152
144
142
136
135
133
132
129
127
126
125
125
125
125
119
119
118
113
110
106
102
98
96
95
94
93
93
93
92
89
86
85
83
81
79
76
74
69
69
69
69
69
66
62
60
56
54
52
49
49
51
51
51
51
51
51
50
50
50
50
50
52
53
54
56
56
54
53
51
46
46
46
46
46
45
43
40
41
41
42
42
42
36
35
32
32
31
33
35
36
38
39
40
40
39
39
39
40
42
42
43
43
44
44
41
34
31
33
35
34
32
28
27
26
25
27
28
28
30
30
30
30
30
30
33
33
33
33
33
34
35
35
37
36
33
30
26
17
13
13
11
10
10
8
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
2
2
2
1
1
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
2
2
2
3
4
4
4
4
5
5
7
7
7
8
8
9
9
9
9
9
9
8
7
7
7
6
5
4
4
4
4
2
2
2
2
4
3
2
3
4
5
5
4
2
2
2
2
2
1
1
1
1
1
1
1
1
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
4
4
4
4
4
4
3
3
2
2
2
2
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
3
3
3
3
1
1
1
1
2
6
6
6
7
6
6
7
7
9
12
13
12
9
8
8
8
9
9
10
9
6
4
3
2
0
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
6
6
9
9
10
10
10
10
10
10
10
10
10
11
9
11
12
12
12
14
14
14
14
14
16
17
18
19
21
23
36
37
43
45
47
49
52
53
53
54
58
61
61
61
67
67
67
68
68
70
73
76
79
81
81
81
81
81
81
81
81
80
80
80
78
76
73
73
65
44
42
40
38
31
27
25
23
19
6
6
5
5
4
3
2
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
10
11
11
12
12
12
12
13
14
31
32
32
33
33
35
36
37
38
38
38
38
38
38
38
38
38
38
38
38
40
41
42
42
43
43
43
45
46
51
52
58
58
59
59
59
59
60
60
61
63
64
69
70
72
73
75
77
77
78
79
81
91
92
97
98
100
100
100
100
100
100
100
101
101
101
101
101
101
101
99
94
93
92
92
93
93
93
93
91
90
88
87
86
86
86
85
85
85
88
86
84
83
79
78
77
77
77
76
76
76
76
76
76
76
74
69
66
62
56
53
53
52
52
51
51
50
49
49
47
47