12
11
11
11
11
11
11
11
10
10
10
10
9
9
9
9
9
10
10
10
11
12
12
13
14
15
16
16
16
17
17
17
18
18
19
19
20
21
21
25
25
26
27
27
27
29
31
32
30
26
25
24
22
21
21
21
22
23
24
25
25
25
26
26
27
30
31
32
32
33
33
33
33
32
29
27
25
24
18
18
17
16
11
11
11
11
11
11
11
11
11
10
10
10
10
10
10
10
9
7
6
6
5
4
3
3
3
3
4
5
5
6
7
8
8
8
19
21
25
30
31
37
37
37
39
45
47
52
55
56
57
59
61
63
66
70
71
73
83
84
89
96
98
99
100
105
107
109
114
130
131
132
137
138
139
141
143
144
144
144
144
145
145
146
147
148
148
150
150
150
150
150
150
150
150
150
150
150
153
155
157
160
162
164
170
172
176
185
190
192
193
195
200
206
209
217
217
217
217
217
217
217
217
217
216
216
216
216
218
222
223
223
226
228
230
232
241
242
244
245
246
248
249
250
251
251
251
251
251
251
251
251
251
252
252
252
252
253
253
254
252
252
252
252
251
251
251
251
251
251
250
250
250
249
248
247
247
247
247
246
246
246
245
244
241
240
240
240
240
239
238
238
238
238
238
237
237
236
236
236
236
236
236
236
236
236
236
236
237
238
239
237
237
236
225
224
223
223
222
210
209
208
207
207
206
206
205
205
204
203
202
201
201
201
200
200
197
196
196
195
195
195
195
194
194
194
194
194
194
193
191
191
191
190
188
187
186
186
186
185
181
180
177
177
176
176
176
166
165
164
163
160
159
155
155
149
149
148
148
145
143
143
143
140
140
140
139
139
138
138
137
136
136
136
136
136
136
136
136
136
136
137
137
137
137
137
137
138
138
138
138
138
138
138
138
138
138
138
137
137
137
136
135
135
133
132
132
131
130
129
129
128
127
127
127
126
125
125
124
123
123
121
121
120
119
119
119
119
119
119
119
119
119
118
117
116
116
113
110
110
109
108
107
107
106
106
105
104
104
104
103
102
101
99
97
95
94
92
92
92
91
91
91
88
87
86
84
82
80
79
78
78
78
78
77
77
77
76
76
76
76
75
74
74
74
74
74
74
74
74
74
74
74
74
74
73
72
72
72
71
71
71
70
69
69
68
66
65
64
62
60
59
59
59
59
59
59
59
59
59
59
60
60
60
60
60
60
60
60
60
60
60
60
59
58
56
56
56
56
56
56
57
57
57
57
57
57
56
55
54
54
53
53
53
52
49
49
48
47
47
44
42
42
37
37
37
37
37
37
37
37
35
33
32
31
30
28
26
25
25
23
21
21
21
21
21
21
21
21
21
20
19
19
19
19
19
18
18
18
17
17
17
16
15
14
12
12
11
11
10
10
9
9
9
8
8
7
6
6
5
4
2
1
6
7
8
9
12
14
15
16
17
19
17
17
13
12
12
12
12
12
12
12
12
12
13
14
14
15
15
14
14
12
11
11
11
10
7
5
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
5
5
5
5
5
5
4
2
2
1
1
0
0
1
2
4
5
5
5
5
5
5
5
5
5
5
6
6
6
6
7
8
8
11
11
11
10
10
9
8
8
8
7
7
7
7
7
6
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
3
3
2
1
1
1
1
1
2
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
2
2
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
6
6
6
6
6
6
6
5
5
6
6
6
7
7
7
7
7
6
6
4
3
2
2
2
2
2
1
1
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
6
6
6
6
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
9
9
9
9
9
9
9
9
9
9
8
8
8
8
8
8
8
7
7
7
7
7
13
15
15
15
15
14
14
14
13
13
12
12
12
13
14
14
14
14
14
14
13
13
13
13
13
13
13
13
14
14
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
15
15
15
15
15
15
15
15
16
16
16
16
17
17
17
18
18
18
18
18
19
19
19
19
19
19
19
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
23
23
24
24
25
25
25
25
25
26
27
27
27
27
28
28
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
30
30
31
31
31
32
33
33
34
34
35
35
35
35
35
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
37
38
39
39
39
39
40
41
41
41
42
42
42
42
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
44
44
44
44
44
45
45
45
45
45
45
45
46
46
46
46
46
47
47
47
47
47
47
45
45
45
45
45
45
45
45
46
46
46
47
47
51
51
52
54
54
54
54
54
55
55
55
57
57
57
57
57
57
57
57
57
56
56
56
56
56
56
56
56
56
56
56
57
58
58
59
59
59
59
59
59
60
60
60
61
61
61
62
62
64
64
65
65
66
66
66
66
66
67
67
67
67
68
68
68
68
68
68
68
68
66
64
64
63
63
63
63
63
63
65
65
65
65
66
66
67
68
68
68
68
68
68
68
68
68
68
68
68
68
69
70
70
70
71
71
71
71
71
71
71
72
73
74
74
74
75
75
75
75
75
75
75
75
75
75
75
75
75
75
76
76
76
76
76
77
77
77
77
77
78
78
78
78
79
79
79
79
79
80
80
80
80
80
80
81
81
81
81
82
82
83
83
83
85
85
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
88
88
89
89
89
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
89
90
90
90
91
91
92
93
94
95
95
96
96
96
96
96
96
96
97
97
97
97
97
97
97
100
101
101
101
101
101
101
101
101
101
101
102
102
102
102
104
104
104
104
105
105
105
105
105
105
105
105
106
106
106
106
106
106
107
107
107
107
108
108
109
109
109
109
109
110
110
111
111
111
111
111
111
111
111
111
112
113
114
114
114
114
114
114
114
114
114
114
115
115
115
116
116
116
116
116
116
116
116
116
116
116
116
116
117
117
117
117
117
117
117
117
117
117
118
118
118
118
118
118
118
118
119
119
119
119
119
119
119
120
120
120
121
121
121
121
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
123
123
123
123
123
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
125
125
125
126
126
126
126
126
126
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
129
131
133
134
134
134
134
134
134
134
134
134
136
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
138
140
141
142
143
143
145
145
145
146
147
148
148
148
148
148
148
148
148
148
148
148
148
149
149
149
149
149
150
150
150
150
150
150
150
150
150
150
151
151
151
151
151
154
155
156
156
156
158
159
159
159
159
159
159
159
160
160
161
164
164
165
166
167
167
167
168
168
168
168
169
170
171
172
174
174
175
176
176
177
178
179
181
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
184
184
185
186
187
190
190
190
190
190
190
190
190
191
191
191
191
191
191
191
191
191
191
192
192
192
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
194
194
194
194
194
195
195
195
196
196
198
198
198
198
198
198
198
198
197
197
197
196
196
196
196
197
197
198
199
199
199
199
200
203
207
211
213
214
216
216
220
222
223
223
223
224
225
226
222
221
220
216
216
217
214
213
211
209
208
208
215
215
222
224
226
226
229
230
230
231
231
231
231
230
228
226
224
224
222
222
222
220
219
218
215
214
214
214
213
211
211
212
212
213
216
219
222
223
223
223
223
223
223
223
223
223
222
221
221
220
220
218
217
215
214
214
213
213
213
212
212
211
209
207
206
206
205
202
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
201
201
201
201
202
202
203
203
203
203
203
203
203
202
202
202
202
201
201
201
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
201
202
204
204
204
205
205
206
207
207
208
209
210
214
214
214
215
216
217
217
217
217
217
217
216
216
215
215
215
215
215
214
214
214
214
214
214
214
214
214
214
214
214
215
215
215
215
215
215
215
215
215
216
216
216
214
202
199
199
199
199
199
199
199
199
200
201
207
209
210
210
210
210
210
210
211
212
213
214
215
216
215
215
214
213
213
212
211
210
210
209
209
208
207
207
206
205
204
203
202
201
201
200
200
199
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
200
200
200
200
200
201
201
202
202
203
203
204
205
206
206
207
207
209
209
210
210
211
211
213
214
214
215
215
219
219
222
222
222
223
223
223
223
223
223
224
223
222
221
220
219
217
217
217
216
216
215
215
215
216
217
218
218
218
218
219
219
219
220
220
220
220
221
221
221
221
221
221
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
226
226
227
227
227
228
230
231
231
232
232
232
232
233
233
233
233
234
235
236
236
237
237
237
237
238
238
238
238
239
240
240
241
241
241
241
241
242
242
242
243
243
243
243
244
244
245
245
247
247
249
249
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
249
249
249
249
249
249
249
249
249
249
249
249
249
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
253
255
257
258
259
260
260
261
263
265
265
265
266
267
267
268
269
270
270
270
270
270
270
270
270
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
272
272
272
272
272
272
272
272
273
273
273
276
279
280
281
283
283
284
284
285
288
288
291
289
288
287
287
286
284
284
289
291
293
295
296
297
297
297
297
297
297
297
297
297
297
297
297
297
298
298
298
298
298
298
299
299
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
302
304
311
315
318
322
321
321
320
320
320
318
318
318
316
316
315
315
311
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
311
311
311
311
311
311
311
312
312
312
312
312
312
312
312
312
312
314
315
316
317
320
321
322
322
322
322
322
322
322
322
322
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
323
324
324
324
324
324
324
324
324
324
325
325
327
327
328
330
330
330
330
330
331
331
331
331
331
329
327
326
325
325
325
327
327
338
339
340
342
344
344
345
346
347
347
347
347
347
347
347
347
347
347
348
348
349
350
350
350
350
350
350
350
350
350
351
351
351
352
352
352
352
352
352
355
355
359
359
360
362
363
364
365
367
370
372
373
374
377
379
380
381
381
381
381
381
381
381
383
386
387
391
401
415
417
419
420
420
419
416
408
407
407
404
402
402
402
402
403
403
403
403
403
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
407
410
414
416
423
424
426
427
438
439
440
441
441
443
445
445
444
444
443
443
441
440
440
440
440
443
445
445
447
446
445
444
444
443
442
442
442
442
442
442
442
442
441
441
440
440
440
439
439
438
438
437
435
432
431
435
437
439
445
448
451
454
456
457
458
460
461
463
464
466
467
467
467
467
468
469
469
469
470
470
471
471
476
477
479
480
481
482
485
488
490
491
491
491
491
491
491
491
493
494
494
495
495
496
497
498
498
500
506
516
522
528
537
548
555
563
575
559
536
528
518
514
506
489
489
490
491
491
492
499
501
506
507
508
509
509
511
516
517
517
518
518
518
521
522
524
525
526
527
527
528
529
529
530
532
533
533
535
536
537
539
539
538
538
537
537
536
536
535
534
533
531
530
529
529
535
537
543
548
549
552
553
553
553
553
552
552
551
551
551
551
551
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
551
552
555
557
557
558
558
560
561
561
561
562
561
560
560
557
556
554
550
549
549
549
549
549
549
549
549
550
550
550
550
550
550
550
550
551
553
554
557
558
559
560
560
560
562
563
564
564
566
566
567
569
569
569
569
569
569
569
569
569
570
570
570
570
570
570
571
571
572
572
574
574
574
574
574
574
574
574
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
574
574
574
574
574
574
574
575
575
575
578
579
579
579
579
582
582
582
583
584
584
584
583
583
582
581
581
581
581
583
585
586
587
587
590
591
592
593
593
593
594
594
594
598
599
600
600
602
604
606
607
608
613
614
614
615
615
615
616
616
616
616
616
617
618
618
619
619
620
620
620
620
618
618
617
617
617
616
616
617
618
622
622
623
625
627
631
633
634
634
633
633
632
631
630
630
630
634
636
637
637
637
638
641
641
644
645
645
647
648
653
653
654
655
658
665
667
668
669
669
669
669
669
669
669
669
669
670
670
671
672
673
673
674
675
677
679
679
684
686
687
687
688
691
693
693
694
696
699
700
702
708
710
712
714
714
714
714
715
715
715
716
716
717
718
718
721
727
728
730
737
738
739
743
744
744
744
744
744
744
743
742
739
739
739
739
739
739
739
739
739
739
739
740
741
742
744
745
747
748
749
750
751
752
754
755
758
758
760
761
761
764
765
765
766
766
766
766
767
770
770
770
769
768
768
767
768
769
772
776
779
784
782
781
777
780
780
782
783
784
784
785
786
786
786
786
786
786
786
787
787
789
789
790
791
792
792
794
795
795
795
795
796
796
797
798
799
801
802
803
804
805
807
807
808
808
808
810
811
813
814
814
814
814
814
814
813
813
813
813
813
813
813
813
813
812
812
812
812
812
812
812
812
812
812
811
811
811
811
810
809
809
809
809
808
807
803
801
801
800
799
796
796
792
791
791
790
786
780
780
779
776
775
775
775
774
774
774
774
774
774
774
773
772
770
770
766
765
764
754
753
752
752
750
749
749
749
749
748
748
747
747
746
746
746
745
745
744
742
742
741
741
741
741
741
742
742
743
743
743
743
744
744
745
745
747
747
747
747
747
747
747
747
747
747
746
746
746
746
746
746
746
746
745
745
744
743
740
739
739
738
738
737
736
736
736
736
736
736
736
736
736
736
737
737
737
737
737
737
737
737
738
739
740
741
741
742
743
744
746
744
742
738
732
729
726
725
723
721
717
714
710
713
714
715
716
717
717
720
721
722
722
724
723
723
722
721
721
720
720
719
718
717
718
722
724
731
735
737
739
742
743
744
746
747
747
747
747
746
745
744
744
744
743
743
742
741
740
740
739
739
738
738
737
736
735
732
731
730
730
729
729
728
728
728
727
727
726
725
725
724
724
723
723
722
722
721
720
719
718
718
717
717
716
714
713
712
712
713
714
714
715
716
717
718
718
719
721
722
724
725
725
726
728
729
729
729
728
728
727
727
727
726
725
723
723
723
721
721
719
719
719
719
719
719
719
719
720
720
721
721
723
723
723
723
723
722
722
721
721
720
719
718
716
715
714
711
711
709
708
706
704
702
702
702
701
700
699
698
696
695
694
693
692
690
689
688
688
687
686
686
685
684
684
683
683
683
683
682
681
681
680
680
680
679
679
679
678
677
676
675
674
674
673
672
671
670
670
669
667
667
666
666
665
665
664
662
661
661
659
659
659
658
658
658
658
658
657
657
657
657
656
656
655
654
652
652
651
651
650
649
648
647
646
645
645
644
642
640
640
640
639
638
636
636
636
635
634
634
633
633
629
627
626
625
624
624
623
623
623
622
622
622
619
618
618
618
616
615
615
612
611
611
610
609
609
609
609
609
608
608
608
608
607
606
605
604
601
600
597
596
593
592
591
591
590
588
588
587
584
582
580
575
572
570
569
569
568
568
566
566
566
566
565
564
562
561
561
560
559
559
559
559
559
559
559
559
559
559
560
560
561
563
566
570
571
571
572
573
573
573
574
574
574
574
574
574
573
573
572
570
570
570
570
570
570
570
570
570
570
570
570
570
570
570
571
571
572
573
573
573
574
574
574
574
573
573
573
572
572
572
571
571
571
570
569
568
565
565
564
563
562
561
561
560
560
559
557
557
557
557
557
557
557
556
556
555
555
555
554
554
553
553
553
552
551
550
550
549
548
546
545
545
545
545
545
544
544
544
544
543
543
542
541
538
536
533
530
529
530
531
531
532
533
534
534
532
531
528
528
528
528
528
528
528
528
528
527
526
525
525
522
522
520
518
518
517
517
516
515
515
514
513
512
512
512
511
511
511
511
510
510
510
510
509
509
509
509
509
509
508
508
508
507
507
507
507
507
507
506
506
506
506
506
506
506
506
506
505
505
505
504
504
504
504
504
505
505
506
506
506
506
506
507
507
507
507
508
508
508
508
508
508
508
509
512
514
510
508
507
505
503
503
507
510
512
511
510
509
508
506
505
504
502
502
502
502
502
502
502
502
502
502
499
493
494
495
495
496
498
498
498
498
498
498
498
498
498
498
498
497
497
497
497
496
496
496
496
495
494
493
493
492
492
491
491
491
491
491
491
490
490
490
490
490
490
490
490
490
490
491
491
491
491
491
491
491
491
491
491
491
491
491
491
492
493
493
493
493
494
495
496
496
498
498
499
499
499
500
500
500
500
500
500
501
501
501
501
502
502
502
502
502
502
502
502
502
502
502
502
502
501
501
501
501
501
501
501
501
501
501
501
501
501
501
502
502
502
502
503
503
503
503
503
503
502
501
499
499
499
498
498
498
497
497
494
493
493
493
492
492
492
492
492
492
492
492
492
492
492
492
492
492
493
493
493
492
491
491
491
491
491
492
492
492
493
494
494
493
493
493
493
493
493
493
494
494
495
496
496
496
496
496
497
497
497
497
497
497
498
498
498
499
499
499
499
500
500
501
502
502
503
504
504
505
505
505
505
505
505
505
505
505
504
504
503
502
502
503
505
508
513
513
513
512
511
510
508
508
506
505
505
505
505
505
505
505
505
505
505
504
503
503
502
502
502
501
500
499
498
498
498
498
498
498
498
498
497
497
497
496
496
496
496
496
496
496
497
497
496
496
495
495
495
495
495
495
495
495
495
495
495
495
495
495
495
496
496
496
496
497
497
497
497
497
497
497
497
497
497
497
497
497
502
512
514
513
512
511
510
508
505
504
503
501
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
502
502
502
503
503
503
504
504
504
504
504
503
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
508
508
508
509
509
509
509
509
508
508
508
508
507
507
507
507
507
506
506
506
506
507
507
508
508
509
509
509
509
509
509
509
509
509
509
510
510
510
510
510
511
512
512
512
512
512
512
512
512
512
512
513
513
513
513
513
513
513
513
513
513
514
514
514
514
514
514
515
515
515
515
515
516
516
516
516
516
516
516
516
516
516
516
516
516
517
517
517
517
517
517
517
518
519
519
519
520
520
520
520
520
520
520
520
520
520
520
520
520
519
519
519
519
519
519
520
520
520
520
520
521
521
521
521
521
521
521
521
521
521
522
522
526
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
528
528
528
528
528
528
528
528
529
529
529
530
530
531
531
531
531
531
531
531
531
531
531
531
531
532
533
535
535
538
539
539
539
540
540
540
542
543
544
544
544
544
545
545
545
546
546
546
546
546
546
546
546
546
546
546
546
546
545
545
545
545
545
545
545
544
544
544
544
544
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
543
542
541
541
541
540
539
539
539
539
539
539
539
539
539
539
539
539
543
545
546
546
547
547
547
548
549
549
551
553
555
555
555
555
555
555
556
556
556
556
556
556
557
557
557
557
556
556
556
555
554
554
553
552
552
551
551
550
551
552
556
557
558
559
559
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
560
561
561
561
561
563
563
564
564
566
567
568
570
571
573
574
575
575
576
576
577
578
578
578
578
578
579
579
579
579
580
580
580
580
580
580
580
580
580
579
579
578
578
578
578
577
577
577
576
574
572
571
569
567
561
561
559
558
557
557
557
556
555
553
552
552
552
552
552
551
551
551
549
549
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
549
549
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
551
551
551
551
551
551
551
551
551
552
552
552
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
553
554
554
554
554
555
555
555
555
555
556
556
556
557
557
557
557
557
557
557
557
557
557
557
557
558
558
558
559
559
559
559
559
560
560
560
560
561
561
561
561
561
561
561
561
561
561
561
561
561
562
562
562
562
562
562
563
563
563
563
563
564
564
564
565
566
566
566
567
567
567
567
567
567
567
567
568
569
569
570
570
570
571
571
572
573
574
576
577
578
579
580
581
582
584
585
585
585
584
583
582
582
581
580
578
578
577
577
576
576
576
576
577
578
578
579
579
580
580
581
583
584
585
587
587
587
587
588
588
588
588
589
589
589
589
589
590
590
591
591
592
593
593
593
594
594
594
595
595
595
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
597
598
598
598
599
599
599
599
600
600
600
600
601
601
601
603
603
603
604
605
605
605
605
605
605
605
605
605
605
604
604
604
605
605
605
606
606
607
608
608
609
610
611
611
611
611
612
613
613
614
614
616
617
617
617
618
619
619
619
621
622
622
622
622
623
623
622
622
621
620
620
620
619
619
619
618
617
617
617
616
615
615
614
614
614
614
614
613
613
612
612
612
611
611
611
611
611
611
611
611
611
611
612
612
612
613
613
614
614
615
615
616
616
619
622
624
628
630
635
637
641
643
644
646
649
651
652
653
654
656
662
666
667
669
671
672
672
673
675
675
675
675
673
671
670
669
669
669
666
664
662
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
659
658
658
656
654
651
650
649
649
648
647
646
646
646
645
645
645
644
641
640
640
640
640
640
640
640
640
640
640
640
640
640
640
641
641
641
641
641
641
641
643
645
646
646
649
650
651
652
654
654
655
656
656
657
658
658
658
659
659
659
659
659
660
660
660
660
660
662
666
667
667
668
668
674
675
679
683
690
691
692
694
695
696
697
698
700
701
702
706
707
708
708
709
710
712
715
715
715
715
714
713
713
710
707
706
705
705
704
703
703
702
702
701
701
699
698
698
698
697
696
695
695
694
692
691
691
689
689
688
688
688
687
687
687
686
685
684
684
683
683
682
681
678
677
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
676
676
676
676
676
677
677
677
677
677
677
677
676
676
675
675
675
674
673
673
672
672
672
672
671
671
670
670
670
669
669
669
669
669
669
669
668
668
668
668
668
668
668
668
668
668
668
669
669
669
670
671
671
671
672
673
675
675
677
677
679
679
680
683
683
684
684
684
685
685
686
687
687
688
688
688
689
689
689
691
692
694
695
698
699
703
707
708
709
711
712
714
715
717
718
721
724
726
727
730
733
734
736
737
739
749
751
754
756
766
769
772
775
779
785
787
788
790
795
797
803
807
808
810
811
819
821
825
827
830
833
840
843
846
848
851
854
856
859
861
865
868
870
873
878
881
885
887
890
891
893
895
896
898
900
903
906
908
912
916
920
925
928
932
938
940
942
944
946
947
949
953
956
958
960
962
965
967
971
976
985
986
988
990
993
994
996
997
999
1002
1006
1007
1010
1012
1015
1016
1030
1032
1035
1042
1047
1055
1056
1059
1060
1061
1062
1063
1064
1065
1066
1067
1069
1073
1074
1076
1077
1077
1078
1079
1080
1083
1084
1085
1086
1086
1087
1087
1088
1088
1089
1090
1092
1093
1094
1098
1100
1101
1103
1104
1105
1107
1109
1110
1112
1117
1118
1119
1120
1124
1125
1126
1127
1127
1128
1129
1129
1130
1131
1133
1134
1135
1136
1138
1140
1145
1146
1148
1150
1151
1152
1152
1153
1153
1154
1155
1155
1156
1159
1160
1161
1162
1163
1164
1164
1165
1167
1168
1169
1170
1170
1173
1174
1175
1176
1177
1178
1179
1180
1182
1184
1184
1184
1183
1183
1183
1183
1182
1181
1180
1179
1179
1178
1178
1177
1177
1177
1176
1175
1175
1174
1174
1174
1173
1173
1173
1173
1172
1173
1173
1174
1175
1177
1177
1177
1178
1179
1180
1180
1180
1180
1180
1180
1180
1180
1180
1180
1180
1180
1180
1180
1182
1183
1184
1187
1190
1192
1193
1194
1194
1194
1194
1194
1194
1194
1194
1196
1197
1198
1199
1199
1200
1200
1200
1201
1204
1207
1210
1212
1194
1191
1187
1182
1178
1176
1173
1155
1155
1154
1152
1151
1149
1147
1146
1145
1143
1140
1139
1138
1136
1135
1133
1132
1131
1128
1127
1126
1125
1123
1120
1118
1117
1116
1116
1116
1115
1115
1114
1114
1114
1114
1114
1113
1112
1112
1112
1111
1111
1111
1111
1110
1110
1110
1109
1108
1106
1105
1104
1104
1102
1100
1100
1099
1097
1097
1096
1096
1095
1094
1093
1092
1092
1092
1091
1090
1090
1089
1088
1087
1087
1087
1087
1087
1087
1087
1087
1087
1087
1087
1087
1086
1086
1086
1086
1085
1083
1082
1081
1080
1079
1079
1077
1076
1076
1076
1075
1074
1074
1074
1074
1074
1073
1072
1072
1071
1071
1072
1073
1073
1075
1075
1076
1076
1077
1079
1080
1080
1077
1069
1067
1062
1061
1056
1054
1052
1048
1045
1038
1036
1033
1032
1029
1028
1023
1022
1020
1017
1015
1014
1012
1010
1008
1007
1006
1005
1002
1001
998
997
994
992
991
990
989
988
987
986
984
982
980
979
979
974
972
970
966
965
964
962
961
960
959
957
956
955
954
953
952
949
949
948
947
946
945
944
942
941
941
939
938
937
936
931
929
928
926
922
919
913
912
907
906
902
894
887
885
881
876
875
870
869
867
867
866
866
866
865
864
864
863
863
862
862
862
861
861
860
859
858
858
857
857
857
857
857
856
856
856
856
856
856
856
856
856
856
855
855
855
855
855
855
855
855
855
855
855
855
856
858
858
858
859
863
863
863
865
865
865
865
865
865
865
865
865
865
865
865
865
865
864
863
863
863
863
862
862
861
861
859
857
857
856
856
857
857
858
858
858
859
859
860
862
863
864
865
866
866
867
868
869
870
871
872
873
875
875
877
876
875
874
872
871
869
868
866
865
864
862
862
861
861
859
859
857
856
853
851
848
848
848
848
848
848
848
848
848
848
848
848
848
847
847
847
847
847
847
847
847
847
847
847
846
846
846
846
846
846
846
845
845
845
845
845
844
844
844
844
844
844
844
844
843
843
843
843
843
843
843
843
843
843
843
844
844
846
847
848
849
849
850
853
854
855
855
855
855
855
855
855
855
855
855
855
855
855
855
855
855
854
854
853
853
853
853
852
852
852
851
851
849
849
849
848
848
848
848
847
847
846
845
845
844
844
844
844
844
844
844
844
843
843
842
841
840
840
839
839
838
837
837
837
836
836
836
836
836
836
836
836
836
836
836
836
836
836
836
836
836
836
835
835
834
834
834
834
834
835
835
836
836
836
836
836
836
835
834
833
832
832
831
831
831
830
830
830
830
830
831
831
831
831
831
831
831
830
830
830
829
829
828
828
828
828
828
828
828
828
828
828
828
828
828
828
828
828
830
832
833
834
836
837
837
837
837
837
837
837
837
837
837
836
836
835
835
834
834
833
833
833
832
832
832
831
830
830
829
829
829
828
828
827
827
827
827
827
827
827
827
827
827
828
828
828
828
828
828
829
829
829
829
829
829
829
829
829
829
828
828
828
827
827
827
827
827
827
827
827
827
827
827
827
827
827
827
827
827
827
828
828
828
828
829
829
829
828
828
828
827
827
827
827
826
826
826
826
826
826
826
825
825
825
824
824
824
824
823
822
821
821
820
819
818
819
821
822
822
823
823
823
823
823
823
823
822
822
822
822
822
822
820
819
819
819
818
818
817
817
817
816
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
815
814
814
812
812
813
815
816
815
814
813
812
812
809
809
809
809
810
810
811
812
813
813
813
815
817
819
821
821
822
823
825
826
828
828
831
829
826
822
820
819
814
811
806
804
801
796
793
792
791
793
794
796
799
804
806
807
812
814
815
818
819
822
824
827
832
835
840
842
895
927
955
979
1001
1010
1150
1273
898
796
764
732
724
725
728
728
730
731
732
733
735
735
736
736
734
731
726
722
721
719
717
717
716
716
715
713
710
707
701
702
707
716
722
724
728
733
736
736
735
735
735
735
734
734
734
733
732
731
731
730
730
728
726
726
725
723
722
721
718
717
716
715
713
712
711
707
703
702
702
702
703
704
705
705
707
708
708
710
710
711
711
714
717
719
720
721
721
723
726
732
734
735
741
742
741
740
740
739
737
736
734
733
731
730
730
728
728
728
728
729
730
731
731
731
731
732
732
733
733
732
731
730
728
726
726
725
724
724
724
723
723
722
722
722
722
722
722
722
722
722
723
723
723
723
723
721
720
718
713
711
709
706
705
703
703
702
698
697
696
696
696
694
693
693
693
692
689
688
685
685
683
677
676
674
673
680
683
686
689
692
708
710
719
720
721
722
723
725
726
727
729
731
731
731
731
731
731
731
731
731
731
731
731
731
731
731
731
731
731
731
731
731
731
730
730
730
729
729
729
728
728
728
727
727
727
727
727
726
726
726
727
728
729
730
730
731
731
732
732
732
733
733
734
735
736
736
736
736
735
733
732
730
729
726
725
723
720
714
712
712
711
710
709
709
707
704
703
703
702
702
701
701
700
700
699
699
698
698
698
698
695
694
693
693
692
691
689
689
688
688
687
687
686
685
685
684
683
683
682
681
680
680
677
675
672
668
665
658
657
653
651
647
641
633
630
627
624
617
616
615
614
613
606
604
602
601
599
598
597
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
592
590
590
589
589
589
589
589
589
589
587
587
586
586
585
584
584
584
584
584
584
584
584
584
583
583
583
583
583
583
583
583
583
583
583
583
583
583
584
584
584
585
585
586
586
586
586
586
586
586
585
585
584
584
583
582
582
582
582
582
581
581
581
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
580
579
578
577
577
576
576
576
575
574
573
572
572
572
572
572
572
572
572
572
571
571
571
571
571
570
570
570
570
570
570
570
570
570
570
570
570
570
571
571
571
571
571
571
571
572
572
572
573
573
574
574
574
574
574
575
575
575
575
575
575
576
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
577
576
575
574
572
571
569
568
567
566
562
561
561
561
561
561
561
561
561
561
561
560
560
560
560
560
560
560
560
560
560
559
559
559
559
559
558
558
558
558
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
555
555
555
555
555
555
555
555
555
555
555
554
554
554
554
554
554
554
554
554
554
553
553
553
553
553
553
553
553
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
552
551
551
551
551
551
551
551
551
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
550
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
549
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
548
547
547
547
547
547
547
547
547
547
547
547
546
546
546
546
546
546
546
546
545
545
544
544
544
544
544
544
544
544
544
544
544
543
543
543
543
543
543
543
543
543
543
543
543
543
543
542
542
542
542
541
541
541
541
540
540
540
540
540
540
540
540
540
540
540
540
540
539
539
539
539
539
538
538
538
538
538
538
538
538
539
539
539
540
540
540
541
541
541
541
541
541
541
541
541
540
540
540
540
540
540
540
540
540
540
540
540
539
539
538
538
538
538
538
538
537
537
537
537
537
537
536
536
536
536
536
536
536
536
536
535
535
535
534
534
533
533
533
532
532
532
532
532
532
532
532
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
531
532
532
532
532
532
532
532
532
532
533
533
534
534
534
534
534
534
532
531
529
528
527
527
527
526
526
526
526
525
525
525
525
525
525
524
524
524
524
524
524
524
524
523
523
523
523
523
523
523
523
523
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
522
523
524
524
524
524
524
524
524
523
523
523
523
523
523
524
524
525
526
526
527
527
527
528
528
530
530
531
531
532
534
535
535
536
537
537
538
539
539
542
544
545
545
546
547
549
549
551
552
554
556
557
562
564
566
568
571
573
578
580
581
582
584
583
583
582
582
580
578
576
574
572
566
564
562
560
551
548
544
541
536
532
531
529
528
526
524
522
522
522
521
521
520
519
519
519
518
518
518
518
518
517
517
517
517
517
516
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
515
514
514
514
514
514
514
514
514
514
515
515
515
515
516
516
518
520
520
521
521
521
521
520
519
519
518
518
517
517
516
516
515
515
515
514
514
514
513
513
513
513
513
513
511
511
510
510
510
508
506
505
503
502
502
502
502
502
502
502
502
502
502
501
501
501
500
500
500
500
500
500
500
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
501
500
500
500
500
499
499
499
498
498
498
498
498
498
499
500
501
501
513
518
518
521
521
524
528
533
538
535
529
526
518
513
509
502
498
492
486
486
486
486
484
484
484
484
483
483
483
483
483
483
482
482
482
482
481
480
480
479
479
478
478
478
477
477
477
477
477
478
485
490
498
502
507
507
522
528
534
542
549
553
557
566
570
572
573
574
577
583
579
575
573
570
559
555
551
549
544
525
520
517
513
510
502
498
496
495
493
492
488
486
485
483
481
479
478
477
477
477
477
477
477
477
477
477
477
477
476
476
474
474
473
473
472
472
472
472
471
471
471
471
471
471
471
471
471
470
470
470
470
469
469
469
469
468
468
468
468
467
467
467
467
467
466
466
466
465
465
464
464
464
463
463
463
463
463
462
462
462
462
462
463
464
464
464
465
466
467
467
467
468
468
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
471
471
472
472
472
473
474
475
475
475
476
478
478
478
477
477
476
476
476
476
475
475
474
473
473
474
474
474
474
475
475
475
475
476
476
477
478
479
480
480
481
481
482
482
483
483
484
484
484
486
486
486
487
488
488
488
488
487
487
486
485
485
484
484
484
484
481
478
476
474
473
470
470
470
469
469
469
469
469
469
469
468
468
468
468
468
468
468
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
467
466
466
466
465
465
465
463
462
462
460
460
460
460
460
460
460
460
461
461
461
461
461
461
461
461
461
461
461
461
461
461
462
464
464
468
469
470
472
473
473
474
474
474
474
475
475
476
476
476
476
477
477
477
477
477
478
478
479
479
480
480
481
481
482
482
482
483
483
478
477
476
474
474
473
473
472
470
470
470
469
469
468
468
466
466
465
465
465
465
465
465
465
465
464
464
464
464
464
464
464
464
464
464
464
464
464
463
463
463
463
462
462
462
462
462
461
460
460
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
458
458
458
458
458
458
458
458
457
457
457
457
457
457
457
457
457
457
457
458
459
460
462
463
463
464
464
464
465
466
467
467
467
467
466
466
466
465
465
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
464
465
465
465
465
465
465
466
466
466
466
466
466
466
466
465
464
464
464
463
462
462
461
461
461
460
460
460
459
459
459
459
459
458
458
458
459
459
459
460
460
460
460
461
461
462
461
459
458
456
453
452
451
449
447
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
444
445
445
445
445
445
444
444
444
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
443
442
441
440
440
440
440
440
440
440
439
439
439
439
438
438
438
438
438
438
438
437
437
437
437
439
440
442
444
444
445
445
445
446
446
450
453
453
447
444
443
439
441
441
441
442
442
443
443
443
441
440
439
438
437
437
436
435
435
435
434
434
434
433
433
432
430
430
430
430
430
430
432
433
432
431
430
430
430
430
430
430
430
430
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
429
431
431
429
428
427
427
427
427
429
429
430
430
430
429
429
428
428
428
428
428
428
428
427
427
425
425
425
425
425
425
425
425
425
425
425
425
426
427
427
427
425
425
424
424
423
423
423
423
423
423
423
423
422
422
422
422
422
422
421
421
422
422
422
422
422
422
422
422
423
423
423
423
423
423
423
423
423
423
422
422
422
422
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
422
422
422
422
422
422
423
423
423
423
423
424
424
424
425
426
426
427
427
428
429
433
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
433