4
4
4
5
8
8
8
8
8
8
8
8
8
8
7
6
6
6
6
6
6
5
5
2
2
2
2
2
2
2
2
1
2
2
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
3
5
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
9
10
11
11
11
11
12
12
13
13
13
13
13
8
7
8
8
7
7
7
2
2
1
1
1
1
1
0
0
0
0
0
0
0
1
3
3
3
3
6
3
3
3
6
5
5
5
4
4
7
7
2
2
1
4
4
2
2
3
4
6
8
7
7
5
1
2
3
5
6
8
9
9
9
9
9
9
9
5
4
3
2
2
2
2
2
2
2
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
2
2
0
1
3
3
7
8
12
13
15
16
17
17
17
17
17
19
21
23
24
24
24
26
27
28
28
29
29
29
28
28
26
27
27
28
28
28
28
28
28
29
29
31
31
31
31
33
34
34
34
35
37
37
41
41
41
42
42
43
44
44
44
45
45
45
45
46
47
47
47
47
47
48
48
49
50
51
51
52
52
52
53
54
54
55
56
57
57
57
57
57
59
59
59
60
61
62
65
66
65
65
65
65
63
63
64
65
65
66
68
68
69
70
71
71
72
72
73
79
81
83
88
93
93
93
93
94
95
101
102
103
105
111
112
111
111
114
116
116
106
98
95
94
93
94
97
98
99
99
99
99
99
99
99
99
100
108
109
109
109
109
110
110
110
110
110
110
116
116
116
116
116
119
121
125
126
127
127
127
126
126
124
123
123
124
127
129
130
130
128
126
119
119
119
118
116
116
117
118
118
121
124
127
128
129
129
129
130
130
132
136
134
133
131
124
125
126
126
126
126
129
130
131
138
145
144
143
143
143
150
155
155
155
164
166
167
167
167
170
170
170
173
177
179
180
181
182
180
175
171
169
165
164
161
160
160
159
159
158
158
157
156
155
154
151
150
149
149
149
149
162
163
167
168
170
172
177
177
177
177
176
176
177
182
182
181
181
192
194
196
194
192
194
196
198
198
200
200
201
202
203
205
206
207
209
213
222
227
227
228
229
230
231
231
225
220
215
219
227
232
240
240
239
239
251
253
254
255
256
258
259
256
255
255
255
255
255
255
256
258
259
263
265
265
257
278
292
292
295
296
302
303
305
306
306
306
309
310
311
315
320
324
326
327
340
340
342
344
349
354
355
356
356
359
361
361
363
364
364
364
373
375
377
379
381
381
384
385
388
396
398
399
401
408
409
410
414
412
402
400
400
400
406
412
414
422
419
413
401
401
401
401
401
401
404
405
405
406
410
413
415
416
421
422
422
422
422
422
421
420
419
419
419
420
422
423
428
435
437
440
441
441
445
456
457
459
469
472
474
477
488
488
484
479
467
470
470
473
473
473
473
473
472
467
465
465
465
465
482
486
489
492
497
501
507
514
521
519
445
444
444
444
444
448
452
459
476
495
493
490
489
488
488
487
487
487
483
467
484
486
488
489
489
489
488
496
498
500
502
502
489
485
481
486
487
488
490
491
492
510
512
514
516
509
506
504
506
508
511
512
514
515
522
527
528
529
530
529
528
527
537
540
550
549
549
548
547
555
558
562
564
579
587
592
590
589
587
584
584
583
582
577
576
574
574
570
570
570
570
570
570
570
570
570
570
573
579
581
584
587
588
589
590
584
583
583
582
574
573
573
572
571
570
570
570
570
570
572
576
578
580
581
584
585
585
587
587
588
588
588
589
589
589
588
585
583
565
560
558
547
542
535
529
528
528
528
528
527
527
526
526
527
535
538
538
537
537
536
536
535
535
532
516
514
512
511
513
515
515
517
516
514
513
512
511
500
491
491
491
490
490
489
489
489
489
489
490
491
492
493
498
505
511
509
508
511
517
529
536
539
543
548
551
552
551
543
547
548
550
552
559
561
564
564
565
568
574
575
575
577
582
585
585
585
586
587
588
590
594
595
598
600
603
606
607
608
609
610
611
612
614
615
616
616
616
616
616
614
611
609
606
603
602
599
597
594
592
590
587
586
585
584
583
581
577
571
569
566
566
567
571
576
580
582
585
585
585
585
585
586
586
586
587
587
586
584
581
581
583
583
583
582
585
585
585
585
585
585
595
596
595
595
594
594
592
590
586
584
582
582
581
580
580
580
581
581
581
582
582
584
587
585
583
582
579
577
575
573
569
566
564
564
564
564
564
563
563
563
561
560
559
558
557
556
555
552
541
539
538
538
536
535
535
536
539
540
542
543
544
545
545
542
541
540
539
537
536
533
531
530
529
525
524
523
522
519
518
515
512
510
508
492
492
489
486
482
482
482
481
478
476
475
474
473
471
469
468
467
465
463
453
448
440
436
433
429
419
413
408
405
399
388
379
377
377
378
380
383
384
386
385
381
378
374
371
367
363
359
344
344
344
344
342
337
334
327
324
320
317
311
303
303
303
303
295
289
266
253
236
207
200
198
194
186
158
158
153
152
149
146
134
133
131
131
127
126
126
125
121
119
119
118
117
117
117
117
116
115
115
115
114
114
114
114
111
109
106
106
106
101
101
99
100
100
100
100
100
100
99
99
98
98
97
96
96
96
96
96
96
101
106
112
113
113
113
113
99
85
86
87
89
89
100
110
112
104
86
58
58
58
57
55
54
52
50
50
50
49
48
48
48
48
48
47
46
45
44
43
43
42
43
43
42
41
40
39
37
34
32
32
32
34
34
34
31
30
30
28
27
27
26
25
25
25
25
23
20
20
20
15
15
14
12
12
12
12
11
11
10
10
9
9
3
3
3
2
2
2
2
2
2
2
2
2
2
2
3
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
8
8
8
8
8
8
8
8
8
9
9
8
7
4
4
4
4