22
22
22
22
22
22
22
22
22
23
23
23
22
21
21
20
19
18
18
16
15
14
13
13
13
13
13
13
13
13
13
13
13
13
13
15
15
15
15
15
15
15
15
15
15
15
14
14
14
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
13
14
16
16
16
17
17
17
18
18
18
18
18
18
18
18
18
16
15
15
15
15
15
15
15
15
16
16
17
17
17
17
17
17
17
17
19
19
19
19
19
17
17
17
17
17
17
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
20
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
23
23
23
24
24
24
25
25
25
25
26
26
26
26
24
27
28
28
28
25
26
27
27
28
28
28
28
28
28
30
30
30
30
31
31
31
32
32
32
32
32
32
32
32
32
33
33
33
33
33
35
35
36
37
37
36
35
35
35
35
36
36
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
38
38
38
38
38
39
39
39
39
39
46
46
45
45
45
45
46
46
46
46
46
46
46
46
46
46
47
47
47
47
47
47
50
50
48
52
52
51
53
53
54
54
54
54
54
54
54
54
54
54
54
54
53
53
53
53
53
53
53
53
53
54
54
54
54
54
54
54
54
54
54
54
54
56
57
57
57
57
61
61
66
66
66
66
66
66
66
66
66
66
66
66
66
67
67
67
67
67
67
66
65
65
65
66
67
67
69
68
67
67
67
67
67
67
67
67
67
70
71
71
71
71
71
71
71
71
71
71
72
72
72
72
72
72
72
72
73
73
73
73
74
75
75
77
77
77
77
77
77
77
78
78
79
79
80
84
85
85
86
88
88
89
89
90
91
91
92
93
95
96
96
96
99
100
101
104
105
107
113
114
119
119
119
119
119
120
121
121
121
122
122
122
122
125
126
127
130
131
132
133
133
135
136
136
136
136
136
136
136
136
137
137
138
139
139
140
144
145
146
149
150
151
152
153
156
157
157
157
156
156
155
154
154
157
158
160
162
169
170
170
170
171
173
174
175
175
175
174
174
166
166
166
165
163
161
155
155
155
155
144
144
144
144
144
144
144
145
148
148
148
148
147
146
146
146
146
147
147
148
148
149
148
147
146
145
145
146
147
147
147
147
148
148
148
148
145
144
144
143
143
143
142
139
140
141
142
144
145
145
145
146
146
147
147
147
147
147
147
146
146
143
141
139
138
137
136
135
131
130
129
127
123
123
123
123
123
123
123
123
123
126
127
128
129
133
134
134
135
135
134
133
133
133
133
133
133
130
131
134
137
137
136
135
135
134
134
134
134
135
135
136
138
139
140
151
152
152
152
150
147
146
136
137
139
139
137
133
135
136
136
136
136
135
135
135
136
136
137
138
140
141
142
142
142
142
142
142
142
142
143
143
140
136
136
136
136
136
136
136
136
135
135
135
134
132
132
132
132
132
132
132
132
132
132
132
134
135
137
138
138
138
139
140
141
142
139
143
144
144
143
143
143
146
146
145
145
145
145
145
145
145
145
145
145
145
146
146
146
145
143
145
146
146
146
146
146
146
146
147
148
148
148
149
150
150
150
150
149
148
148
148
148
148
148
148
149
149
150
150
150
150
150
151
151
151
151
151
151
151
151
151
153
154
154
154
154
153
153
153
154
155
155
155
155
155
155
155
155
154
154
154
154
154
154
154
154
153
153
153
153
152
152
152
152
151
151
151
150
147
144
145
146
148
147
147
146
145
145
146
147
149
150
153
154
155
157
157
157
155
153
153
153
150
150
150
150
149
149
149
148
148
147
147
146
146
146
146
153
159
160
161
163
165
163
157
156
154
153
153
151
151
151
151
151
150
150
149
149
149
148
147
145
145
144
144
144
144
143
142
142
142
141
141
141
140
140
140
139
138
138
138
138
136
136
136
136
135
133
133
131
131
131
128
130
132
132
133
134
134
134
134
134
134
134
135
135
136
136
136
137
137
137
137
137
137
138
138
139
139
139
140
141
142
144
144
144
144
144
144
144
145
145
146
146
147
148
150
151
153
154
154
155
155
155
156
156
156
156
156
156
156
156
156
157
158
158
160
160
165
166
166
173
175
175
175
183
185
187
189
189
189
191
191
192
194
195
196
200
201
201
201
201
201
201
201
201
202
202
203
203
203
208
208
211
211
212
213
214
215
216
217
218
220
220
221
222
223
223
224
225
226
226
227
227
229
230
231
232
233
235
235
237
237
237
240
241
242
245
247
252
256
258
264
266
267
268
279
282
287
297
298
300
302
303
304
305
307
308
308
309
313
314
315
318
319
319
320
321
323
324
324
325
325
326
328
328
329
329
339
339
340
340
341
341
342
343
344
345
346
346
347
347
348
351
361
363
364
366
366
366
367
367
376
371
373
379
380
382
383
387
388
388
387
387
387
386
384
384
383
383
383
383
374
372
371
370
365
363
355
354
352
347
341
340
317
315
314
311
307
307
306
303
301
297
293
289
289
291
292
292
292
293
292
290
289
287
286
285
283
279
277
276
273
266
265
265
262
261
261
261
260
254
254
254
254
254
254
254
254
254
254
253
253
252
252
250
250
249
249
249
249
250
251
252
252
247
244
234
234
233
233
232
231
224
222
221
213
213
212
210
208
206
205
205
195
194
194
194
194
196
196
198
199
200
200
202
198
197
203
203
204
205
207
209
210
211
213
213
213
214
236
237
238
239
240
241
242
243
243
243
243
243
243
243
243
243
243
247
247
247
250
252
253
254
257
258
263
269
270
275
275
275
276
277
277
277
281
281
282
283
284
288
298
299
304
308
308
312
320
321
326
327
329
331
337
338
340
343
345
346
347
348
349
349
350
352
354
355
359
362
365
367
371
373
375
380
384
385
388
392
394
397
403
407
410
415
429
433
444
446
459
459
459
459
459
459
459
459
460
460
460
461
462
462
462
464
466
466
467
470
472
479
483
485
487
488
488
489
490
491
493
494
497
499
500
500
500
502
503
504
506
508
509
510
513
517
518
518
519
521
526
528
529
529
530
531
534
538
541
543
543
544
545
550
557
558
560
561
561
562
562
568
577
578
578
579
580
583
586
591
595
597
598
598
601
614
618
620
623
625
626
627
627
629
638
643
647
650
651
655
660
664
668
673
675
678
689
696
697
697
698
702
705
711
716
719
724
728
733
733
734
738
741
743
745
756
757
757
758
758
762
765
766
770
777
780
781
783
786
789
789
789
790
791
795
797
798
799
801
803
804
805
807
812
814
815
815
816
817
818
820
821
821
822
824
839
846
850
852
861
865
876
889
896
892
885
882
861
855
842
839
838
836
832
830
827
820
818
818
819
820
827
830
833
834
835
838
841
841
841
841
844
846
851
855
856
860
862
865
866
867
870
873
878
883
886
887
891
892
894
895
896
897
899
901
906
907
909
911
919
923
924
924
922
916
913
909
908
907
907
902
901
900
899
897
894
891
888
882
881
878
874
870
865
862
861
861
857
855
852
852
850
848
847
843
843
843
843
843
843
843
842
841
838
833
833
832
831
831
827
832
837
846
850
853
858
879
886
873
870
863
859
846
837
837
836
836
835
835
834
832
829
826
825
820
816
812
807
806
804
804
804
804
804
802
800
793
787
785
783
777
769
769
769
769
769
769
769
769
769
769
762
757
755
752
748
748
747
747
747
738
737
735
732
727
726
726
720
716
712
708
703
696
691
689
688
688
687
682
673
669
667
661
656
651
647
644
643
640
637
632
624
624
623
623
622
620
618
617
612
593
590
590
589
588
585
581
579
576
574
574
573
572
560
554
554
553
553
552
550
550
544
540
539
539
538
537
535
531
526
525
525
524
524
523
519
517
517
517
515
512
510
508
507
503
500
499
497
495
494
494
493
489
486
485
484
483
482
481
481
481
479
477
473
466
462
461
461
461
462
463
463
463
460
458
457
457
453
453
452
451
449
448
447
446
438
436
424
421
407
403
401
398
392
388
385
382
379
379
375
370
368
366
362
360
355
353
352
351
349
348
346
344
342
339
338
336
334
332
331
326
324
323
322
315
314
303
299
299
295
291
290
285
284
283
283
282
281
278
277
277
274
273
270
269
266
265
261
256
255
250
250
249
246
245
244
244
243
242
241
240
239
239
239
237
236
236
239
239
238
236
236
236
236
236
237
237
237
238
238
238
239
239
239
239
244
243
243
243
243
243
244
244
244
246
247
247
248
249
250
251
251
252
253
253
254
253
251
246
245
240
243
244
238
235
233
232
231
228
227
227
225
223
223
223
223
223
222
222
221
221
221
221
221
221
221
221
223
231
242
241
237
237
237
238
239
245
246
250
252
254
256
257
258
258
256
254
253
252
249
248
247
245
244
243
242
241
240
239
237
236
233
232
232
233
230
229
228
228
227
226
227
224
225
229
230
231
230
230
230
230
230
230
230
230
233
233
232
231
229
229
229
229
228
228
228
228
228
227
227
227
227
226
226
226
226
226
226
226
226
226
225
224
224
223
223
222
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
222
223
223
224
225
225
226
226
226
226
225
225
224
223
223
222
222
222
222
222
222
223
223
223
223
224
224
224
224
224
223
223
223
223
223
223
223
223
224
225
225
226
226
227
227
229
230
230
230
230
230
230
230
231
232
233
233
232
232
231
228
227
227
226
226
226
227
228
228
229
230
230
231
233
234
235
235
234
233
233
233
232
232
233
233
234
234
234
235
239
240
242
244
245
247
248
248
249
256
256
256
257
257
258
258
258
258
257
257
256
256
255
255
254
253
252
252
250
248
247
246
246
246
248
248
250
252
252
251
250
250
248
248
243
242
242
241
239
238
236
234
233
230
229
228
227
226
225
224
219
217
215
214
214
213
213
213
212
212
206
199
197
197
197
198
198
198
198
197
194
193
192
191
191
180
179
178
166
166
162
161
160
159
156
155
155
155
155
155
154
153
153
152
152
152
152
152
151
149
146
145
145
145
145
145
145
144
142
142
141
141
141
142
142
142
142
142
142
142
143
142
140
139
137
135
135
132
130
128
128
126
125
124
124
123
122
119
119
119
119
119
119
119
119
119
119
121
122
122
122
123
126
129
131
134
135
134
134
134
132
132
132
132
140
140
140
140
140
140
140
140
140
140
141
141
141
141
141
141
142
146
147
147
148
150
151
157
158
158
161
162
162
162
166
166
165
162
161
160
155
155
154
153
153
152
151
149
148
147
145
144
144
144
143
143
142
138
137
137
137
137
137
136
136
134
130
125
123
122
125
126
127
130
131
130
130
131
131
131
132
132
132
132
132
133
134
138
141
142
143
145
146
149
150
153
156
158
162
163
163
164
165
185
192
192
191
189
189
189
185
184
184
181
179
174
169
168
161
161
158
158
157
156
154
148
147
146
145
144
142
140
140
140
140
141
142
142
143
144
145
145
146
148
148
148
146
146
147
149
149
150
150
151
152
152
152
152
152
152
153
153
154
154
155
155
159
159
159
159
159
159
159
159
159
160
161
163
166
168
175
181
183
183
184
184
188
189
190
193
196
197
202
204
207
206
205
205
205
204
202
196
195
194
193
192
192
191
189
188
179
178
178
178
170
169
167
167
167
167
166
165
165
162
161
160
161
160
157
153
151
148
143
143
143
138
136
126
124
123
120
119
119
115
114
114
114
114
114
114
113
111
107
104
103
97
95
89
88
88
83
79
76
76
76
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
74
74
73
73
72
72
72
72
72
71
71
71
70
70
70
70
69
69
69
69
69
69
69
69
69
69
69
68
68
68
68
68
68
68
68
68
67
67
67
67
66
66
66
66
65
65
65
65
64
64
64
64
64
64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
65
64
63
63
62
61
61
61
61
63
63
64
64
64
64
64
64
64
64
64
64
65
65
65
65
65
65
67
68
68
68
68
68
67
67
67
66
66
65
62
62
61
61
59
59
59
59
59
57
58
58
58
55
54
54
54
54
54
54
54
54
54
54
54
55
55
56
57
57
58
58
58
58
58
58
58
59
59
59
59
59
59
59
59
59
60
60
60
60
60
60
60
60
60
60
59
59
59
59
59
59
57
57
57
57
57
57
57
57
57
57
58
58
58
61
61
62
62
62
62
62
62
62
62
62
62
63
65
65
65
65
65
65
72
72
72
72
72
72
72
73
73
74
74
74
74
75
76
76
76
75
75
75
75
75
75
75
75
75
75
75
76
76
76
76
77
77
77
77
81
83
86
87
88
89
90
91
93
95
97
97
98
98
99
102
102
103
103
104
106
109
110
115
117
121
132
136
138
140
141
142
143
144
144
145
146
147
150
153
154
158
160
161
162
164
165
170
174
174
174
174
173
173
171
170
169
169
167
166
166
163
163
162
162
164
180
181
184
186
186
188
189
189
189
190
191
193
193
194
199
200
201
204
204
204
204
203
203
202
202
201
201
201
201
201
208
209
210
212
213
214
217
220
220
222
222
223
223
225
226
229
229
229
229
231
232
233
233
233
232
231
229
229
228
228
228
228
228
228
227
226
219
217
215
214
212
211
211
210
210
211
212
213
215
216
216
214
213
209
208
206
205
204
198
197
197
196
194
193
193
192
190
190
190
189
189
188
181
179
179
178
176
166
165
163
161
160
161
162
162
162
162
163
163
163
163
163
163
163
162
162
162
162
162
167
167
170
173
174
175
175
176
177
178
183
185
187
188
190
190
191
192
193
193
192
191
190
192
193
193
198
203
203
202
199
192
192
192
193
193
193
189
186
185
187
187
190
190
190
190
190
190
190
187
186
185
185
186
187
188
189
190
191
192
192
192
193
193
193
193
192
192
192
193
193
194
195
207
211
214
215
215
214
214
213
212
213
213
214
215
217
217
217
217
215
214
210
205
206
207
211
213
216
217
219
226
228
230
228
227
226
225
224
215
211
208
201
200
200
197
196
195
192
186
169
168
168
166
163
160
159
158
146
145
141
138
138
138
138
136
134
133
127
126
118
116
114
110
104
102
101
96
92
91
89
79
77
78
78
79
79
79
79
79
79
78
77
76
76
76
76
75
75
75
74
74
74
74
74
74
74
74
73
73
73
73
73
72
72
72
72
72
72
72
72
72
72
72
72
72
72
71
72
72
71
71
71
70
70
66
67
67
67
67
67
67
67
67
67
67
66
66
66
66
66
66
66
65
65
65
65
65
67
68
68
69
66
66
66
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
66
67
67
67
67
67
63
63
62
61
61
61
61
61
61
61
60
60
60
60
60
60
60
60
60
60
59
57
57
57
58
58
58
58
58
57
57
56
55
54
54
54
53
53
53
52
51
51
51
51
51
50
48
48
48
47
47
47
47
46
46
46
47
47
47
47
46
46
46
45
45
45
45
46
44
43
41
39
39
39
40
40
40
41
41
41
41
41
41
40
40
40
40
40
40
40
40
40
40
40
40
39
38
37
37
37
37
36
36
36
36
36
36
36
36
36
36
36
36
37
37
37
36
36
36
36
37
37
37
34
34
34
33
32
32
32
32
32
32
32
32
32
32
32
31
31
31
31
31
31
30
30
29
28
28
28
27
27
27
26
26
26
26
28
28
28
26
26
26
25
25
25
25
24
24
24
23
23
23
23
22
22
22
22
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
19
19
19
18
18
18
18
18
18
18
18
18
17
17
17
17
17
17
17
17
17
16
16
16
16
16
16
17
17
17
18
18
18
18
18
18
19
19
19
19
18
17
17
17
17
16
16
16
16
16
15
15
15
15
15
15
15
15
15
17
18
18
18
18
17
17
17
17
17
15
15
15
15
15
15
14
13
14
14
14
14
14
14
14
14
14
15
15
15
15
15
14
14
14
14
14
15
15
16
16
17
17
17
18
19
20
20
20
20
21
21
21
21