21
22
22
22
20
20
20
23
23
23
24
24
25
25
25
25
27
27
27
27
27
27
27
27
27
27
27
27
29
30
30
32
32
32
32
32
32
32
33
33
33
33
33
34
34
33
33
31
30
31
31
32
32
33
33
33
33
35
35
35
35
35
35
36
36
36
35
35
35
35
35
35
35
35
35
36
37
37
37
35
35
35
36
36
36
37
37
39
39
39
39
39
40
42
43
43
43
43
43
43
43
43
43
43
43
43
43
45
47
46
45
45
43
43
43
43
43
43
43
43
43
44
44
44
43
43
44
44
44
44
43
42
41
41
41
41
41
42
43
44
45
45
46
46
45
45
45
48
48
48
49
49
50
51
51
51
51
51
50
52
52
52
51
51
51
53
54
54
54
55
55
55
52
53
53
55
55
56
57
57
58
60
60
60
60
59
59
58
58
58
58
58
58
58
58
58
58
58
58
58
59
59
59
60
60
61
61
61
60
60
60
60
59
59
59
59
59
58
58
58
58
58
59
60
60
62
63
63
63
63
65
66
66
66
66
66
66
66
66
67
67
67
67
67
69
70
72
72
73
74
74
74
75
75
75
75
75
75
75
76
76
78
79
79
79
79
79
79
79
77
77
78
78
78
79
79
79
79
79
79
79
80
80
80
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
80
80
80
80
82
82
82
83
83
83
83
83
83
82
82
81
81
81
81
82
83
84
84
85
85
85
85
85
85
85
85
85
85
85
85
85
84
84
84
84
86
87
87
88
88
89
88
87
86
85
83
83
82
81
81
81
81
80
80
80
80
81
81
81
82
82
82
82
82
82
82
82
83
83
84
83
83
83
83
83
83
84
85
85
86
84
86
87
88
90
90
90
90
90
91
92
92
92
92
92
92
92
93
95
96
96
96
96
96
96
96
97
97
97
97
97
97
97
96
95
97
98
97
101
101
96
96
96
96
96
96
96
96
96
94
94
93
92
92
92
93
94
93
93
95
95
95
95
96
97
99
101
105
108
108
110
110
110
111
111
112
112
112
112
112
111
111
111
110
110
110
110
110
110
109
109
109
108
108
108
108
108
108
109
110
114
116
117
117
117
118
119
120
120
120
120
120
120
120
120
120
120
121
123
124
124
124
124
125
126
127
127
127
127
128
128
128
128
129
129
130
130
130
131
131
131
131
131
132
132
132
132
132
132
133
133
133
134
134
134
134
134
134
135
135
135
136
137
137
137
137
137
138
138
138
138
139
139
139
139
139
139
140
140
141
141
141
141
141
141
141
141
142
142
142
142
142
142
142
142
142
142
143
143
143
143
143
143
143
143
143
143
143
143
143
144
144
144
144
144
145
145
146
147
147
148
148
149
149
148
148
148
148
148
149
149
149
149
148
148
148
148
148
148
148
148
148
148
149
149
149
149
149
149
149
149
149
149
149
149
149
150
151
152
152
152
152
152
152
152
152
152
152
152
152
152
153
154
154
154
154
156
156
156
156
156
156
157
158
158
159
159
160
160
160
161
161
162
163
165
166
167
168
169
170
171
173
173
174
175
178
178
179
180
180
180
181
181
182
182
183
184
184
184
184
184
187
189
190
190
191
191
191
191
191
191
192
194
194
198
199
202
208
209
210
210
211
212
215
219
221
228
229
234
234
239
243
247
249
249
250
251
252
253
253
253
254
254
254
254
254
253
253
253
253
253
252
252
251
250
249
248
246
245
245
242
241
240
239
237
236
235
234
233
231
229
223
221
218
217
215
213
210
207
204
202
199
198
196
195
193
191
185
181
180
176
174
173
172
172
172
172
172
172
173
174
174
175
175
175
175
175
175
176
176
176
179
179
180
181
181
182
181
181
181
181
181
181
181
181
182
183
183
183
184
186
187
187
187
188
188
187
187
185
184
183
181
179
178
176
174
174
175
175
175
174
173
173
172
171
170
166
166
166
164
164
163
165
166
166
167
168
168
169
169
169
169
169
170
170
170
170
170
170
170
170
170
170
170
171
172
172
172
172
172
170
169
169
169
169
169
169
170
170
170
170
171
171
171
171
170
170
170
170
170
170
171
171
171
170
166
166
166
166
166
164
162
161
163
165
165
165
165
165
165
166
166
167
168
168
168
168
168
168
168
168
168
168
169
169
169
169
170
170
170
170
170
170
170
170
171
171
171
171
171
171
171
171
171
172
172
172
172
172
172
172
172
172
172
172
172
173
173
173
173
173
173
173
173
173
173
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
175
174
174
174
174
174
174
175
177
178
182
180
179
176
176
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
176
176
177
197
197
196
195
195
195
195
195
194
194
194
194
193
193
193
192
192
192
192
192
192
192
192
192
192
192
192
192
193
193
193
193
193
193
193
193
194
195
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
197
197
197
197
197
197
197
197
197
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
200
200
200
201
202
202
203
204
209
209
215
215
216
216
217
217
219
219
219
221
223
224
224
224
224
224
224
224
224
224
224
223
222
219
216
211
211
211
211
211
212
213
213
216
218
221
222
222
222
223
223
224
224
224
224
224
224
224
224
224
224
224
224
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
225
225
225
225
226
226
230
230
231
232
233
233
233
233
233
233
233
233
234
235
235
236
236
237
237
238
238
239
239
240
241
241
241
241
241
241
242
242
242
242
242
242
242
242
242
242
243
243
244
245
247
248
249
249
249
249
249
249
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
256
258
258
260
262
264
258
256
254
252
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
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
251
252
255
259
260
260
260
260
261
262
265
266
266
268
268
268
269
269
270
270
270
270
270
270
270
270
271
272
272
271
271
270
270
270
270
270
270
269
269
268
268
268
268
268
268
268
268
268
266
264
265
266
267
269
269
272
272
271
270
270
270
269
269
269
269
269
269
269
269
269
269
270
270
270
270
270
270
270
270
271
271
271
271
271
271
271
271
272
271
271
272
273
273
274
276
277
278
279
281
281
282
282
283
283
283
283
284
284
284
284
285
286
287
289
290
291
291
291
291
291
291
291
292
292
292
293
293
293
293
293
293
293
293
292
292
292
293
293
293
293
294
295
295
295
295
295
295
295
295
295
293
291
290
287
287
287
287
286
286
286
285
285
285
285
284
284
284
284
284
283
283
283
283
281
280
280
279
278
278
278
278
277
277
277
277
277
279
279
279
278
279
279
280
281
282
283
283
283
280
279
277
277
277
280
280
279
278
280
281
283
284
285
288
321
324
325
326
309
307
304
303
303
303
301
300
299
299
299
300
301
301
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
302
311
317
319
319
319
319
319
319
318
317
316
314
313
310
321
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
326
327
328
328
329
330
331
331
332
333
333
334
334
334
334
334
335
335
336
340
340
340
341
343
343
344
344
344
345
346
349
350
351
352
353
354
355
355
349
348
347
347
347
347
347
347
347
347
348
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
349
349
349
349
349
349
350
350
350
350
350
350
349
349
349
349
348
348
348
348
348
349
349
349
349
349
349
349
350
350
350
351
351
354
357
357
359
360
362
362
363
364
366
367
368
368
369
370
370
370
370
371
371
371
371
371
371
371
371
371
370
370
370
370
370
370
370
370
370
370
370
371
371
371
372
372
372
373
373
373
373
373
373
373
373
373
373
373
373
372
372
372
372
372
372
373
373
375
378
377
376
376
376
375
375
375
375
375
375
375
376
377
377
376
375
375
374
374
374
374
374
374
374
374
374
374
374
374
375
375
375
375
375
375
375
375
376
376
375
375
375
375
375
375
377
379
379
380
381
381
381
382
387
390
393
394
396
397
404
404
405
409
411
413
413
413
412
410
407
405
403
400
400
400
401
402
403
404
404
405
403
399
398
398
398
398
398
399
399
411
429
429
434
438
440
436
438
443
446
448
450
453
456
459
461
460
459
459
467
471
473
473
473
474
474
475
475
475
475
475
475
475
475
475
477
477
476
476
475
473
467
465
464
454
453
453
453
453
453
452
451
450
450
450
450
450
450
450
450
450
450
453
463
467
473
478
481
483
488
491
496
497
498
498
498
499
499
500
502
503
509
511
513
518
521
522
518
516
511
507
505
502
501
500
500
500
502
511
516
521
522
526
527
527
528
531
532
537
540
541
541
545
548
548
549
549
551
551
551
551
551
551
551
551
551
551
552
552
552
552
552
552
552
552
554
555
556
556
557
558
559
560
561
561
561
560
560
560
558
558
559
560
561
561
562
563
564
564
564
565
565
566
565
565
565
564
563
563
561
560
559
558
559
561
562
564
565
566
566
567
567
568
568
568
568
570
571
574
575
578
578
578
578
578
579
579
579
580
581
581
585
586
587
587
586
586
585
585
586
587
587
588
589
587
585
582
581
581
582
582
583
589
596
597
599
601
608
608
608
608
609
609
609
609
609
608
608
609
610
611
612
614
618
621
622
623
625
627
630
632
631
631
630
630
631
633
633
633
633
633
635
636
639
641
643
644
646
647
649
651
652
653
655
661
661
662
663
663
667
670
671
673
676
679
685
694
693
691
691
691
690
690
691
693
701
705
706
706
706
707
707
707
707
713
720
722
723
723
724
726
727
727
728
729
730
732
733
733
733
733
733
733
733
733
733
733
733
733
733
733
733
733
734
735
737
737
738
739
739
740
743
746
747
750
753
755
759
759
759
759
760
762
763
764
766
769
777
780
781
782
783
792
797
809
819
855
874
866
849
843
814
804
807
809
810
811
812
812
812
812
811
810
810
810
809
809
808
809
810
812
813
813
814
816
818
811
811
811
811
811
811
813
813
814
815
816
818
819
820
824
824
824
823
823
822
822
822
821
820
819
819
819
818
818
823
826
839
847
851
858
864
869
836
793
818
861
861
861
862
862
850
846
847
851
861
867
869
868
866
866
871
875
876
877
880
883
887
892
895
912
920
933
942
956
960
970
964
956
948
937
946
985
1015
1016
1020
1018
1011
990
974
944
937
939
943
945
948
950
952
959
973
975
976
978
979
980
980
986
986
986
986
986
985
989
990
990
991
992
993
993
993
996
996
997
997
997
998
998
998
999
999
999
999
995
988
983
981
980
980
978
978
978
979
981
981
982
982
982
982
984
984
984
985
990
990
991
993
994
996
997
997
996
996
995
995
994
993
992
991
989
987
987
987
988
992
994
995
998
998
998
997
997
997
997
997
997
998
999
1003
1005
1012
1014
1015
1017
1017
1017
1017
1017
1016
1016
1016
1016
1020
1024
1026
1033
1036
1047
1048
1048
1051
1052
1052
1053
1052
1051
1051
1046
1045
1045
1046
1047
1047
1048
1050
1051
1054
1055
1055
1056
1058
1059
1064
1065
1066
1067
1069
1073
1075
1076
1078
1080
1081
1082
1085
1086
1088
1089
1105
1105
1106
1106
1107
1111
1112
1113
1114
1117
1119
1125
1127
1128
1134
1135
1136
1137
1137
1139
1140
1141
1141
1143
1146
1147
1153
1153
1154
1155
1155
1171
1173
1173
1174
1176
1177
1180
1181
1182
1183
1183
1184
1194
1195
1196
1197
1202
1205
1206
1206
1206
1212
1213
1213
1215
1226
1229
1234
1243
1244
1242
1239
1236
1238
1239
1241
1242
1243
1243
1243
1243
1243
1243
1237
1230
1232
1233
1234
1234
1236
1237
1242
1244
1246
1250
1257
1263
1263
1264
1265
1266
1274
1275
1278
1279
1279
1280
1280
1283
1283
1295
1295
1297
1297
1298
1299
1302
1305
1307
1311
1311
1312
1315
1315
1315
1316
1316
1316
1323
1325
1328
1328
1329
1330
1330
1331
1333
1343
1344
1345
1345
1346
1346
1347
1349
1350
1359
1359
1360
1360
1361
1361
1371
1372
1372
1374
1374
1375
1380
1384
1384
1384
1384
1384
1384
1383
1380
1379
1379
1380
1381
1381
1382
1383
1384
1385
1387
1388
1388
1388
1388
1389
1389
1389
1389
1389
1389
1389