20
571
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
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
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
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
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
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
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-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
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-2
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-3
-4
-4
-4
-4
-4
-4
-4
-4
-4
-4
-4
-4
-4
-5
-5
-5
-5
-5
-5
-5
-5
-5
-5
-6
-6
-6
-6
-6
-6
-6
-6
-7
-7
-7
-7
-7
-7
-7
-8
-8
-8
-8
-8
-8
-9
-9
-9
-9
-9
-9
-10
-10
-10
-10
-10
-11
-11
-11
-11
-12
-12
-12
-12
-12
-13
-13
-13
-13
-13
-14
-14
-14
-14
-14
-14
-15
-15
-15
-15
-15
-15
-15
-15
-16
-16
-16
-16
-16
-16
-16
-16
-16
-17
-17
-17
-17
-17
-17
-17
-17
-17
-18
-18
-18
-18
-18
-18
-18
-19
-19
-19
-19
-19
-19
-19
-19
-19
-19
-19
-19
-19
-19
-19
-19
-19
-19
-19
-19
-19
-18
-18
-17
-16
-15
-14
-13
-12
-12
-11
-11
-11
-10
-9
-8
-6
-5
-4
-2
0
1
3
4
4
5
5
5
6
7
7
7
8
8
9
8
8
8
9
10
11
11
12
12
12
13
13
14
14
13
13
12
13
13
14
15
16
17
17
18
19
19
18
17
17
16
15
13
11
10
8
7
7
8
9
11
12
14
16
17
17
17
16
15
14
13
13
12
11
10
9
9
9
9
9
8
8
7
7
7
7
7
7
7
8
8
8
8
9
12
14
18
21
23
26
28
30
32
32
33
32
32
32
32
32
32
33
34
34
35
34
34
35
36
37
39
40
42
43
43
43
44
45
47
50
54
58
62
66
70
74
78
81
84
87
89
92
94
96
98
101
103
106
108
110
112
113
114
115
115
116
118
119
121
122
124
126
129
134
139
145
152
158
165
171
175
180
183
186
187
189
190
191
191
192
192
191
191
190
189
188
187
185
183
180
177
175
172
170
168
167
166
165
166
166
167
168
167
165
163
160
158
155
152
148
145
140
135
129
122
114
106
98
90
81
72
63
55
48
42
36
32
28
26
25
23
22
21
20
20
19
19
20
22
23
25
26
28
29
30
31
31
31
32
33
34
35
35
34
33
31
28
24
20
16
12
10
8
8
8
8
10
11
13
14
16
17
19
21
23
25
27
29
30
32
34
36
38
40
42
44
46
47
47
46
44
41
39
36
33
30
26
23
21
18
17
16
15
14
14
13
13
13
14
15
16
18
21
23
25
27
27
27
27
26
25
23
21
19
17
14
12
10
7
5
3
1
-1
-3
-6
-9
-11
-14
-17
-20
-22
-25
-27
-29
-31
-33
-36
-38
-40
-42
-43
-44
-45
-45
-44
-42
-41
-39
-38
-38
-38
-40
-42
-45
-48
-51
-55
-60
-65
-69
-74
-79
-85
-91
-96
-102
-108
-114
-119
-123
-126
-129
-130
-132
-134
-135
-137
-138
-140
-142
-144
-146
-148
-151
-153
-155
-157
-159
-161
-162
-163
-164
-164
-164
-164
-164
-164
-165
-165
-165
-165
-165
-164
-163
-161
-159
-157
-153
-150
-145
-141
-137
-133
-129
-125
-122
-118
-115
-112
-110
-107
-104
-101
-98
-95
-92
-90
-87
-84
-80
-77
-73
-70
-66
-62
-58
-54
-49
-45
-40
-34
-29
-24
-20
-16
-13
-10
-8
-6
-5
-4
-4
-4
-4
-5
-6
-7
-9
-11
-13
-15
-16
-18
-20
-22
-24
-26
-27
-29
-30
-30
-30
-29
-27
-26
-24
-22
-21
-19
-18
-16
-15
-15
-14
-14
-14
-15
-17
-18
-20
-23
-24
-26
-27
-28
-29
-29
-29
-29
-28
-27
-26
-26
-27
-28
-30
-32
-34
-37
-39
-41
-44
-47
-50
-53
-56
-58
-59
-60
-61
-61
-61
-61
-62
-62
-63
-64
-66
-67
-68
-70
-71
-73
-75
-78
-81
-84
-88
-92
-96
-100
-104
-107
-110
-112
-114
-116
-117
-119
-119
-120
-121
-122
-123
-123
-124
-126
-127
-129
-131
-133
-135
-136
-137
-137
-137
-137
-136
-135
-134
-132
-129
-125
-121
-116
-111
-105
-99
-93
-87
-82
-76
-71
-66
-61
-57
-54
-51
-49
-47
-46
-46
-45
-46
-46
-47
-47
-47
-48
-48
-48
-47
-45
-43
-40
-36
-32
-28
-24
-19
-15
-11
-7
-4
-2
0
2
3
4
5
6
7
8
8
8
8
6
4
1
-3
-8
-12
-16
-20
-23
-26
-29
-31
-33
-35
-36
-36
-36
-37
-37
-37
-37
-38
-39
-41
-42
-43
-45
-47
-49
-50
-52
-53
-54
-55
-55
-55
-54
-53
-51
-48
-45
-43
-40
-37
-35
-33
-32
-32
-32
-32
-33
-33
-33
-33
-32
-32
-31
-31
-31
-31
-30
-30
-31
-31
-32
-32
-33
-32
-32
-31
-31
-32
-33
-34
-35
-36
-37
-38
-40
-41
-43
-44
-45
-46
-47
-47
-47
-47
-46
-45
-44
-42
-40
-37
-34
-30
-27
-22
-18
-14
-10
-6
-3
0
3
6
8
11
14
17
20
23
28
32
36
41
45
50
55
60
65
70
75
81
86
91
96
100
103
106
108
110
111
112
113
112
112
111
111
111
111
113
116
120
124
128
132
136
139
141
142
142
141
139
136
132
127
121
115
108
101
93
86
78
71
65
61
59
59
61
65
71
78
87
95
104
112
119
124
128
130
130
129
127
125
122
121
121
122
125
129
133
137
139
141
142
142
140
138
136
134
132
132
132
131
130
128
125
121
117
112
108
105
105
106
110
115
120
126
132
136
140
143
147
150
155
159
163
165
164
162
158
153
146
139
131
122
113
103
92
82
72
64
58
54
53
55
59
65
73
81
88
95
101
107
114
120
126
131
133
133
131
129
126
124
122
121
122
124
128
131
134
138
143
149
155
161
168
176
185
194
203
211
217
223
229
235
241
245
248
251
254
256
259
261
265
268
273
278
284
290
295
300
305
311
316
321
325
330
333
335
337
338
338
335
331
323
313
301
286
271
256
241
227
213
200
191
185
182
182
185
190
197
205
214
223
233
245
258
272
287
301
313
322
328
331
330
327
322
316
310
303
295
288
280
272
265
260
256
254
252
250
247
243
238
231
224
215
206
195
183
170
155
139
123
106
88
69
49
27
7
-13
-31
-47
-60
-71
-78
-82
-82
-79
-73
-63
-50
-33
-14
8
31
54
79
102
123
141
156
167
175
178
179
177
173
169
163
156
147
138
129
122
115
110
108
109
113
120
130
144
161
182
206
232
260
289
317
343
369
392
413
431
446
457
463
464
459
449
436
421
404
387
372
357
345
334
326
319
314
310
309
311
314
318
323
329
334
338
341
343
343
342
339
335
329
321
311
299
286
273
260
247
234
223
214
207
201
196
193
190
188
186
184
182
181
181
181
182
182
182
182
182
183
185
188
192
196
200
205
208
211
214
215
215
213
210
205
199
190
179
166
151
133
113
90
66
39
10
-20
-52
-85
-118
-150
-180
-207
-230
-250
-266
-279
-288
-294
-297
-296
-292
-287
-280
-272
-264
-256
-250
-247
-246
-248
-252
-259
-268
-280
-295
-313
-332
-353
-376
-400
-424
-449
-473
-495
-514
-531
-546
-558
-566
-570
-571
-568
-561
-551
-539
-524
-508
-491
-472
-453
-433
-414
-397
-381
-366
-353
-343
-334
-327
-322
-318
-315
-312
-310
-308
-307
-308
-309
-312
-317
-323
-330
-337
-345
-353
-362
-372
-382
-393
-404
-416
-427
-438
-450
-461
-473
-483
-492
-500
-508
-514
-519
-524
-528
-531
-533
-533
-531
-528
-522
-515
-505
-495
-483
-471
-457
-443
-427
-411
-396
-382
-369
-358
-347
-337
-328
-321
-316
-313
-311
-310
-310
-310
-312
-314
-318
-322
-328
-334
-342
-349
-356
-363
-370
-377
-383
-389
-395
-399
-403
-406
-408
-410
-412
-413
-414
-414
-414
-412
-409
-406
-403
-399
-396
-394
-392
-391
-391
-392
-393
-394
-396
-397
-397
-397
-396
-395
-393
-390
-386
-382
-378
-373
-368
-363
-360
-357
-355
-355
-355
-356
-359
-361
-363
-365
-367
-368
-368
-367
-365
-361
-357
-352
-346
-339
-331
-320
-308
-295
-280
-263
-244
-224
-202
-179
-156
-133
-110
-86
-62
-39
-17
3
23
41
58
73
87
99
109
118
125
129
132
133
130
125
117
107
95
81
64
44
23
1
-22
-44
-67
-88
-109
-129
-148
-166
-181
-194
-205
-212
-216
-218
-217
-212
-205
-195
-182
-168
-151
-133
-114
-93
-72
-49
-25
-2
22
46
69
93
115
136
155
172
187
200
212
222
230
237
242
246
249
253
257
262
266
271
275
277
279
281
282
282
282
280
278
275
270
266
262
258
254
251
249
248
247
247
248
249
252
256
261
267
274
283
294
305
318
331
345
359
375
391
407
423
439
455
471
486
500
513
525
535
543
549
553
555
555
554
550
545
539
531
523
515
507
499
491
483
476
469
462
456
450
445
440
436
432
428
425
421
417
413
410
407
403
400
397
394
391
388
385
381
378
375
372
369
366
362
358
353
349
346
342
340
337
335
334
332
331
331
331
332
333
333
334
335
335
335
335
335
333
331
328
324
319
313
307
300
292
284
275
266
257
247
237
228
219
210
201
191
182
173
165
157
150
143
137
132
127
123
120
117
114
112
110
108
107
106
105
105
105
105
105
105
104
104
104
104
104
104
104
104
104
103
102
100
98
96
93
90
86
82
78
74
70
66
62
59
56
54
52
51
50
50
49
49
50
51
52
53
55
56
57
58
59
59
59
57
53
48
41
33
24
14
3
-8
-19
-31
-43
-54
-64
-74
-82
-89
-94
-99
-103
-106
-108
-110
-112
-113
-114
-114
-114
-113
-113
-112
-110
-109
-108
-106
-105
-103
-102
-102
-101
-102
-103
-104
-105
-106
-107
-109
-110
-112
-114
-117
-120
-123
-127
-130
-134
-137
-140
-142
-143
-144
-144
-143
-141
-138
-135
-131
-128
-123
-118
-112
-106
-98
-90
-82
-72
-63
-53
-42
-32
-21
-9
3
14
26
36
45
54
62
69
76
81
86
89
91
92
92
91
89
87
83
80
76
71
66
60
55
49
44
39
34
29
24
19
14
9
4
-2
-8
-13
-19
-24
-29
-35
-40
-45
-50
-56
-60
-65
-69
-73
-76
-79
-82
-84
-87
-89
-91
-92
-93
-94
-95
-95
-96
-97
-98
-99
-100
-101
-103
-104
-106
-109
-111
-114
-117
-121
-124
-127
-129
-131
-133
-134
-134
-133
-131
-128
-124
-119
-113
-105
-97
-88
-78
-67
-56
-44
-32
-20
-8
4
16
28
40
51
62
72
81
90
99
106
113
118
123
127
130
132
134
136
138
140
141
142
143
144
145
145
145
145
145
144
143
142
141
141
140
141
141
142
144
145
146
147
146
146
146
145
144
142
141
138
136
132
129
126
122
119
116
113
111
109
108
107
106
106
106
105
105
105
105
106
106
106
107
107
107
107
107
106
105
105
104
103
103
102
101
100
99
98
96
94
92
90
88
86
84
81
79
77
75
72
69
65
62
58
54
49
45
40
34
28
22
16
9
3
-3
-10
-16
-21
-27
-31
-35
-39
-42
-44
-46
-48
-50
-51
-53
-53
-54
-54
-54
-53
-52
-51
-50
-49
-48
-46
-45
-43
-42
-40
-39
-37
-34
-32
-29
-25
-22
-18
-13
-9
-4
0
4
8
12
16
20
24
27
31
34
38
41
44
48
51
54
58
60
63
65
67
68
69
70
71
71
71
71
72
72
72
72
72
71
70
68
66
65
63
62
61
59
58
57
56
55
55
56
56
58
60
62
64
67
69
72
74
76
78
80
82
83
85
86
88
89
90
91
91
92
92
93
93
94
95
96
97
98
98
99
99
99
99
100
100
100
100
100
100
99
98
96
94
91
87
83
79
75
70
64
59
54
49
43
38
34
29
25
21
17
13
9
5
1
-3
-7
-11
-15
-19
-23
-27
-31
-35
-39
-44
-48
-52
-56
-61
-65
-69
-73
-78
-82
-88
-93
-98
-104
-109
-114
-120
-125
-130
-135
-140
-146
-151
-157
-162
-167
-172
-176
-181
-185
-188
-191
-194
-196
-198
-200
-202
-203
-204
-205
-205
-205
-205
-206
-206
-206
-206
-206
-206
-206
-206
-205
-203
-202
-200
-199
-197
-194
-192
-189
-186
-183
-179
-176
-172
-168
-164
-160
-156
-151
-147
-143
-140
-136
-132
-129
-125
-121
-117
-113
-109
-105
-101
-96
-92
-88
-83
-78
-73
-68
-62
-56
-50
-44
-37
-31
-24
-17
-10
-3
5
12
19
27
34
40
46
52
57
61
65
68
70
71
71
71
71
71
71
71
71
71
72
72
73
74
76
78
80
83
86
90
95
100
105
111
116
122
128
135
141
148
155
162
170
177
184
191
198
204
210
215
220
225
228
232
235
237
240
241
242
243
244
244
245
246
247
248
249
251
253
255
257
260
263
265
268
270
273
275
277
279
281
283
284
285
285
284
283
282
279
276
271
266
260
253
245
237
228
219
208
198
187
176
165
153
142
130
119
108
97
86
76
66
56
47
38
28
20
11
2
-6
-15
-24
-32
-40
-48
-56
-64
-72
-79
-86
-93
-100
-106
-112
-118
-124
-129
-134
-138
-142
-145
-148
-150
-151
-152
-153
-153
-153
-153
-153
-153
-153
-153
-153
-153
-152
-152
-152
-151
-150
-149
-147
-146
-144
-143
-141
-138
-136
-133
-129
-126
-122
-117
-113
-108
-103
-98
-92
-86
-80
-74
-67
-60
-52
-44
-37
-29
-21
-13
-5
2
10
18
26
34
42
50
57
65
73
81
89
97
104
111
118
125
132
138
145
151
157
163
169
175
180
185
190
195
200
205
209
213
216
220
223
226
229
232
235
238
241
244
247
249
251
253
255
256
258
259
260
261
262
262
262
261
260
259
257
254
251
247
243
239
234
229
224
218
213
207
200
193
186
179
172
165
158
152
145
138
132
127
121
117
113
110
108
106
105
104
104
105
106
107
108
109
110
111
113
114
115
116
117
118
118
119
119
119
118
117
115
113
110
106
101
96
90
84
77
70
62
53
44
35
26
17
8
-1
-10
-19
-28
-36
-44
-51
-58
-64
-70
-76
-81
-85
-88
-91
-94
-95
-96
-97
-97
-97
-97
-96
-94
-93
-91
-90
-88
-87
-86
-86
-86
-86
-87
-88
-90
-91
-93
-94
-96
-97
-98
-99
-100
-100
-100
-99
-99
-98
-98
-97
-96
-95
-94
-93
-92
-91
-90
-89
-88
-87
-86
-84
-83
-82
-80
-78
-76
-74
-72
-69
-66
-63
-60
-56
-54
-51
-48
-46
-44
-41
-39
-38
-36
-35
-34
-33
-33
-33
-34
-35
-36
-37
-38
-40
-42
-44
-45
-47
-49
-50
-52
-53
-54
-55
-55
-56
-56
-56
-55
-54
-54
-53
-52
-51
-50
-49
-47
-46
-44
-42
-40
-38
-36
-33
-31
-28
-25
-22
-18
-15
-12
-9
-6
-3
1
4
7
9
12
14
16
17
19
20
21
22
23
23
24
24
24
24
23
23
22
22
22
22
22
21
21
22
22
22
22
22
22
22
22
22
22
22
22
23
23
23
24
25
25
26
26
27
27
27
28
28
29
30
31
33
35
38
41
44
48
52
56
61
66
71
77
83
89
95
101
107
114
120
126
132
138
143
148
153
158
162
165
168
170
171
173
174
174
174
174
173
171
169
167
164
161
158
155
151
148
145
143
141
139
137
136
135
133
132
131
131
130
130
130
130
131
132
133
134
136
137
139
140
142
144
146
148
149
151
153
154
156
158
159
160
161
162
163
163
164
164
164
163
163
162
162
161
160
159
158
157
157
156
155
154
154
153
152
152
151
150
149
148
147
146
145
143
141
140
138
137
135
133
131
129
126
124
121
119
116
113
111
108
105
102
99
97
94
92
90
88
86
84
82
80
79
77
75
73
71
69
67
65
62
59
56
52
47
43
38
32
27
21
15
8
2
-5
-11
-18
-25
-32
-39
-46
-52
-58
-64
-70
-75
-80
-85
-89
-94
-98
-101
-105
-107
-110
-112
-114
-116
-117
-118
-119
-120
-120
-120
-120
-120
-119
-118
-118
-117
-115
-114
-112
-110
-108
-106
-104
-103
-101
-99
-98
-97
-96
-95
-94
-94
-95
-96
-97
-99
-102
-104
-107
-110
-114
-117
-121
-124
-127
-131
-134
-138
-141
-144
-147
-150
-152
-155
-157
-159
-160
-161
-161
-161
-161
-160
-158
-157
-155
-152
-149
-146
-143
-139
-135
-132
-128
-124
-120
-117
-113
-109
-105
-101
-98
-94
-91
-88
-85
-83
-81
-78
-76
-73
-71
-68
-66
-63
-60
-58
-55
-52
-50
-47
-44
-42
-39
-37
-34
-31
-29
-26
-24
-21
-19
-17
-15
-13
-11
-9
-7
-5
-3
-1
2
5
7
10
13
17
20
24
28
32
37
42
46
51
56
61
66
71
76
81
86
91
96
101
107
112
118
124
130
136
142
148
155
161
168
174
180
186
193
199
205
211
217
223
229
234
240
246
251
256
260
264
268
271
274
276
279
280
282
283
284
285
285
286
286
286
286
285
285
284
282
281
279
278
276
274
272
269
267
265
262
260
257
254
251
248
245
242
239
236
233
231
228
225
222
219
215
212
208
204
200
195
190
185
180
174
169
163
156
150
144
138
132
126
120
115
110
105
100
95
91
88
84
81
78
75
73
71
69
67
65
63
61
59
57
55
53
51
49
47
44
42
39
35
32
29
25
21
18
14
9
5
1
-4
-8
-13
-17
-21
-25
-29
-33
-36
-40
-43
-46
-49
-52
-55
-58
-61
-63
-66
-68
-71
-73
-75
-78
-81
-83
-86
-89
-92
-95
-98
-101
-104
-107
-110
-113
-115
-118
-120
-123
-125
-128
-130
-133
-136
-139
-141
-144
-146
-148
-150
-151
-153
-154
-155
-155
-155
-155
-155
-154
-153
-152
-151
-149
-146
-143
-140
-136
-132
-127
-122
-117
-112
-106
-101
-95
-89
-83
-77
-72
-66
-61
-55
-50
-45
-40
-35
-31
-26
-22
-18
-15
-11
-8
-5
-2
0
3
5
8
10
13
16
19
22
25
28
31
34
37
40
43
45
48
51
54
56
59
62
64
67
70
73
76
78
81
84
87
89
92
95
98
102
105
108
111
114
117
119
122
124
126
128
129
131
132
133
134
135
136
137
139
140
141
143
144
145
147
148
149
151
152
153
154
156
157
158
159
160
161
162
164
165
166
168
169
171
173
176
178
181
183
186
189
192
194
197
200
202
205
208
210
213
215
218
221
224
227
230
233
236
239
242
245
247
250
252
254
256
258
259
260
261
262
263
263
263
263
262
261
260
258
256
254
251
248
244
240
236
231
226
221
215
209
203
197
190
183
175
167
159
151
143
135
127
119
112
105
97
90
83
76
70
63
57
50
44
38
33
27
22
16
10
4
-2
-8
-14
-21
-27
-34
-40
-47
-54
-61
-68
-75
-82
-89
-96
-102
-109
-116
-122
-128
-134
-140
-146
-151
-157
-162
-167
-172
-178
-183
-188
-193
-198
-203
-208
-213
-217
-222
-226
-230
-235
-239
-242
-246
-249
-252
-256
-258
-261
-264
-266
-268
-270
-272
-273
-274
-275
-275
-276
-276
-276
-276
-276
-275
-275
-274
-272
-271
-270
-268
-266
-264
-261
-259
-256
-252
-249
-245
-241
-237
-232
-227
-223
-218
-212
-207
-201
-195
-189
-183
-177
-171
-165
-159
-153
-147
-141
-135
-129
-123
-116
-110
-103
-97
-90
-83
-75
-68
-61
-53
-45
-37
-29
-21
-13
-4
4
13
22
31
41
50
60
69
79
88
98
107
117
126
135
144
153
162
171
179
188
196
205
213
222
230
239
247
255
263
271
279
286
294
301
308
315
322
329
335
341
347
353
358
363
368
373
377
381
385
388
391
394
396
397
398
399
399
399
398
398
396
395
394
392
390
388
385
383
380
377
374
370
366
362
357
353
348
343
337
331
326
319
313
307
300
293
287
281
274
268
262
256
250
244
238
233
227
222
217
212
207
203
198
193
188
183
178
173
167
162
156
149
143
137
131
125
118
112
105
99
92
86
79
72
66
59
52
46
39
33
27
21
15
9
3
-3
-9
-15
-21
-27
-33
-38
-44
-49
-54
-59
-64
-69
-74
-78
-83
-87
-91
-95
-99
-103
-107
-110
-114
-117
-120
-123
-126
-130
-133
-136
-140
-143
-147
-150
-154
-157
-161
-165
-169
-173
-178
-182
-186
-190
-194
-198
-202
-206
-210
-214
-217
-221
-224
-227
-230
-233
-235
-237
-239
-241
-243
-244
-245
-245
-245
-245
-245
-245
-244
-243
-242
-240
-238
-236
-234
-231
-229
-226
-223
-219
-216
-212
-208
-204
-200
-196
-191
-186
-181
-175
-170
-164
-158
-152
-146
-139
-133
-127
-120
-114
-107
-101
-94
-88
-81
-75
-68
-62
-55
-48
-42
-35
-28
-20
-13
-6
1
8
15
22
29
36
43
50
57
63
70
76
82
87
93
99
104
109
114
119
124
128
133
137
142
146
149
153
156
159
161
163
165
167
168
169
170
171
171
171
171
171
171
170
170
170
169
169
169
169
169
169
169
169
169
169
169
170
170
171
171
172
172
173
173
174
174
175
175
176
177
177
178
178
179
179
180
180
180
180
180
180
180
180
179
179
178
178
177
176
175
174
173
172
171
170
169
168
167
166
166
165
164
163
162
161
160
159
158
157
156
155
155
154
154
153
153
153
152
152
152
151
151
151
150
150
150
149
148
147
146
145
144
142
141
139
137
135
133
131
128
126
123
120
118
115
112
109
107
104
101
98
96
93
91
88
85
83
80
77
74
72
69
66
63
61
58
55
53
50
48
45
43
40
38
36
33
31
28
26
24
21
19
16
13
10
8
5
2
-1
-3
-6
-8
-10
-12
-14
-16
-18
-20
-21
-23
-24
-25
-26
-27
-27
-28
-28
-29
-29
-30
-30
-30
-30
-31
-31
-31
-32
-32
-33
-33
-34
-34
-35
-35
-35
-35
-35
-35
-35
-35
-35
-34
-34
-34
-33
-32
-32
-31
-30
-29
-28
-27
-26
-25
-24
-22
-21
-20
-18
-16
-15
-13
-12
-10
-9
-8
-6
-5
-4
-3
-3
-2
-2
-2
-2
-2
-2
-2
-3
-3
-3
-3
-3
-3
-3
-2
-1
0
1
2
4
6
8
10
13
15
18
21
23
26
29
31
34
37
39
41
44
46
48
50
52
53
55
57
59
60
62
64
66
67
69
71
73
74
76
78
79
81
82
84
85
86
87
88
89
90
91
91
91
92
92
92
92
92
92
93
93
93
93
93
94
94
95
95
96
97
99
100
101
103
104
106
108
109
111
112
113
115
116
116
117
118
118
118
118
118
118
117
117
116
116
115
114
113
112
111
110
109
108
106
105
103
102
100
98
97
95
93
92
90
88
87
85
84
82
80
79
78
76
75
74
73
72
71
71
70
69
69
68
68
67
66
65
64
63
62
61
60
59
58
57
55
54
54
53
52
51
51
51
50
50
50
50
50
51
51
51
52
52
52
53
53
53
53
53
53
53
54
54
54
54
54
54
54
54
54
54
54
54
53
53
53
52
52
52
52
51
51
51
51
51
51
52
52
52
52
52
53
53
53
53
53
54
54
55
55
56
57
58
59
59
60
61
62
62
63
64
64
65
65
66
67
67
68
68
68
69
69
69
69
70
70
70
70
71
71
71
71
71
71
70
70
69
68
68
67
66
65
63
62
61
60
59
58
57
56
56
55
54
54
53
53
53
52
52
52
52
53
53
53
54
54
55
56
56
57
57
58
59
59
60
61
61
62
63
63
64
64
65
65
65
66
66
66
66
67
67
68
68
68
69
69
69
69
69
69
69
68
68
68
67
66
66
65
64
63
62
61
59
58
57
55
53
51
50
48
46
44
42
41
39
38
37
36
35
34
34
33
33
33
33
33
33
33
33
33
33
33
33
33
32
32
31
30
29
28
27
25
24
23
22
20
19
17
16
15
13
12
10
9
7
6
5
3
2
1
1
0
-1
-1
-1
-1
-1
-1
-1
-1
0
0
1
2
2
3
4
5
6
7
8
8
9
10
11
12
14
15
16
17
18
20
21
22
23
25
26
27
28
29
30
31
32
33
34
35
35
36
37
38
39
39
40
41
42
43
44
45
47
48
49
51
52
54
55
57
58
60
61
62
63
64
65
66
67
68
69
70
70
71
71
72
72
73
73
74
74
75
75
76
77
77
78
78
79
80
80
81
81
82
82
82
83
83
83
83
83
83
83
83
82
82
82
81
81
81
81
81
81
81
82
82
82
83
83
84
85
85
86
87
88
89
91
92
93
95
96
98
100
101
103
104
106
107
108
109
110
110
111
112
112
112
112
112
112
112
111
111
110
110
109
108
107
106
106
105
104
103
102
101
100
98
97
96
95
93
92
91
90
89
88
87
86
85
84
83
83
82
82
81
81
80
80
79
79
78
78
77
77
76
75
74
73
72
71
69
68
66
65
63
62
61
59
58
57
56
54
53
52
51
50
49
48
47
45
45
44
43
42
41
40
40
39
38
37
36
36
35
34
34
33
33
33
33
32
32
32
32
32
32
32
32
32
33
33
33
33
33
34
34
34
35
35
35
36
36
37
38
38
39
39
40
41
41
42
42
43
43
44
44
45
45
46
46
46
47
47
48
48
49
49
50
51
51
52
53
54
56
57
58
59
61
62
64
66
67
69
71
72
74
75
77
78
79
81
82
83
84
85
86
87
88
88
89
90
90
91
91
91
91
91
91
90
90
90
90
90
90
90
90
91
91
91
92
92
93
93
94
94
94
95
95
95
95
94
94
93
93
92
91
89
88
87
85
83
82
80
78
76
73
71
69
67
65
63
61
59
58
56
54
53
52
51
50
49
48
47
47
47
46
46
46
47
47
47
47
48
48
49
50
50
51
51
52
53
54
55
55
56
57
58
59
60
60
61
61
62
62
62
62
63
63
63
63
63
63
63
63
63
63
63
62
61
61
60
58
57
56
55
53
51
50
48
46
44
42
39
37
35
33
30
28
26
24
21
19
17
15
14
12
10
8
7
5
4
2
1
-1
-2
-3
-4
-5
-6
-7
-8
-8
-9
-10
-10
-11
-12
-12
-13
-14
-14
-15
-15
-16
-16
-17
-17
-18
-18
-18
-18
-19
-19
-19
-19
-19
-18
-18
-18
-17
-16
-15
-14
-13
-12
-11
-10
-8
-7
-5
-4
-2
0
1
3
5
7
9
11
12
14
16
17
19
21
22
23
25
26
27
28
30
31
32
34
35
37
39
40
42
45
47
49
51
53
56
58
60
62
64
66
68
69
71
72
73
74
75
76
77
78
79
79
80
80
81
81
82
83
84
85
86
87
88
90
91
93
95
96
98
100
101
103
104
105
106
107
108
109
109
110
110
110
110
109
109
108
107
107
106
105
104
103
103
102
102
102
102
102
102
103
104
105
106
107
108
110
111
112
114
115
116
117
119
120
121
122
122
123
124
124
125
125
125
125
125
125
125
124
124
123
122
121
120
118
117
116
114
113
112
110
109
107
106
104
102
101
99
97
95
94
92
90
88
87
85
83
81
80
78
77
76
74
73
73
72
71
71
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
71
71
71
71
71
71
71
71
70
70
70
69
69
69
68
68
67
66
66
65
65
64
64
63
63
63
63
62
62
62
62
62
61
61
61
61
61
61
61
60
60
60
60
60
60
59
59
59
58
58
58
57
56
56
55
54
54
53
52
51
50
49
49
48
47
46
45
44
43
42
42
41
41
40
40
40
40
40
40
40
41
42
43
43
45
46
47
48
49
50
51
52
54
55
55
56
57
58
59
59
60
60
61
61
62
62
62
63
63
63
63
63
63
62
62
62
61
61
60
59
58
57
56
55
54
53
52
51
51
50
49
48
47
47
46
45
45
44
44
43
43
43
43
42
42
42
42
42
42
42
42
43
43
44
44
45
46
46
47
48
49
51
52
53
54
55
57
58
59
60
61
62
62
63
64
64
65
65
66
66
67
68
68
69
70
71
71
72
73
74
74
75
76
77
78
78
79
80
81
82
83
84
84
85
86
87
88
88
89
89
90
90
90
90
91
91
91
91
91
91
91
90
90
90
90
89
89
89
88
87
87
86
85
84
83
82
81
80
79
78
77
76
75
75
74
74
73
73
73
72
72
72
72
72
73
73
74
74
75
75
76
77
78
79
80
80
81
82
83
83
84
84
85
86
86
86
87
87
87
87
87
87
87
87
87
87
87
86
86
86
85
85
85
84
84
84
84
84
84
84
84
84
85
85
85
85
85
85
85
85
85
85
85
85
84
84
83
83
82
81
80
79
78
77
75
74
73
71
70
68
67
65
64
62
60
59
57
56
54
53
52
50
49
48
47
46
45
44
43
42
41
41
40
40
39
39
38
38
37
37
37
37
37
37
37
37
37
37
38
38
39
40
41
42
44
45
46
48
49
51
52
54
55
57
58
59
60
61
62
62
63
63
63
63
62
62
61
60
59
58
56
55
53
52
50
49
47
45
44
42
41
39
38
36
35
34
33
32
31
31
30
30
30
30
30
30
31
31
32
33
34
36
37
38
40
41
43
44
46
47
48
50
51
53
54
55
56
57
58
58
59
59
59
59
59
59
59
59
58
58
58
57
57
56
55
55
54
53
52
51
50
50
49
48
47
46
45
44
43
43
42
41
41
41
40
40
40
40
40
40
41
41
42
43
43
44
45
46
47
48
49
50
51
52
54
55
56
57
58
59
61
62
62
63
64
65
66
67
67
68
69
69
70
70
71
72
72
73
74
74
75
75
76
76
77
77
78
78
78
79
79
79
80
80
80
81
81
81
82
82
82
82
82
82
82
82
82
82
82
82
82
82
81
81
81
81
80
80
80
79
79
79
78
78
78
77
77
77
76
76
75
75
74
74
74
73
73
72
72
72
71
71
71
71
71
70
70
70
70
70
70
70
70
70
70
70
70
70
71
71
71
71
71
71
71
71
71
71
71
71
71
71
72
72
72
72
72
72
73
73
74
74
75
76
77
78
79
80
81
82
84
85
86
87
88
89
90
90
91
91
92
92
92
92
92
92
92
92
92
92
92
91
91
91
90
90
89
88
88
87
86
85
85
84
83
82
81
80
78
77
76
75
74
73
71
71
70
69
68
68
67
67
67
66
67
67
67
67
68
69
69
70
71
72
73
75
76
77
78
79
80
81
81
82
82
82
82
82
82
81
81
80
79
78
77
76
75
74
73
72
71
71
70
69
69
69
68
68
68
68
68
68
68
68
68
68
68
68
68
68
69
69
69
69
69
69
69
69
69
69
68
68
68
67
66
66
65
64
63
63
62
61
60
59
58
57
56
55
53
52
51
50
49
48
47
46
45
44
44
43
42
41
40
40
39
38
38
37
36
36
35
34
34
33
33
32
32
31
31
31
31
31
31
31
32
32
33
33
34
34
35
35
36
37
37
38
39
39
40
41
41
42
43
44
45
46
47
48
49
50
52
53
55
56
58
60
61
63
64
66
67
68
70
71
72
73
74
75
76
77
78
78
79
79
80
80
81
81
81
81
81
82
82
82
82
82
82
82
83
83
82
82
82
82
82
82
81
81
81
81
81
80
80
80
81
81
81
82
83
83
84
85
86
87
88
89
91
92
94
95
96
98
99
101
102
104
105
107
108
109
110
111
112
113
113
114
114
114
114
114
113
113
112
111
109
108
107
105
103
101
99
97
94
92
89
86
84
81
78
76
73
70
68
65
63
61
59
57
55
53
52
51
50
49
49
48
48
48
48
48
48
49
49
50
50
51
52
53
54
55
56
57
58
60
61
62
64
65
66
68
69
71
72
74
75
76
78
79
80
82
83
84
85
86
87
88
89
90
91
91
92
92
92
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
94
94
94
94
94
94
94
94
94
94
93
93
93
93
92
92
91
91
90
90
89
89
88
88
87
87
86
86
85
85
84
83
82
82
81
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
61
60
59
59
58
58
57
57
57
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
55
55
55
55
54
54
53
53
52
51
51
50
49
49
48
47
47
46
46
45
45
45
44
44
44
43
43
43
43
43
42
42
42
42
43
43
43
43
44
44
45
45
46
47
48
49
50
51
53
54
56
57
59
61
63
65
68
70
72
75
77
79
82
84
86
89
91
93
95
96
98
99
101
102
103
103
104
105
105
105
106
106
106
105
105
105
105
104
104
104
104
103
103
103
103
103
103
103
103
103
104
104
104
105
105
105
105
106
106
106
106
106
105
105
105
104
103
102
101
101
99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
84
82
81
80
79
78
77
76
75
73
72
71
70
68
67
66
65
63
62
61
60
58
57
56
55
54
53
53
52
51
51
50
50
50
50
50
50
50
51
51
52
52
53
53
54
55
56
56
57
58
59
60
61
62
63
64
65
66
66
67
68
69
69
70
70
71
71
72
72
73
73
73
74
74
74
74
75
75
75
75
76
76
76
77
77
77
78
78
79
79
80
81
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
102
103
103
104
104
105
105
105
105
105
105
105
104
103
103
102
101
100
98
97
96
94
93
92
90
89
87
86
85
84
82
81
80
79
78
78
77
76
76
75
75
75
74
74
74
74
74
75
75
75
76
76
76
76
77
77
77
77
77
77
77
77
76
76
75
75
74
74
73
72
72
71
70
69
69
68
68
67
67
66
66
65
65
65
65
64
64
64
65
65
65
65
66
66
66
67
67
68
68
69
70
70
71
72
73
73
74
75
76
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
100
101
102
103
103
104
104
105
105
106
106
107
107
108
108
109
110
110
111
112
112
113
114
114
115
115
116
116
117
117
118
118
119
119
120
120
121
121
122
122
122
123
123
123
123
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
123
123
123
123
123
123
123
123
122
122
122
122
122
123
123
123
124
124
125
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
142
143
144
145
145
146
146
147
147
148
148
149
149
149
149
149
150
150
150
150
150
149
149
149
149
149
149
149
148
148
148
148
148
148
148
147
147
148
148
148
148
148
148
148
149
149
149
150
150
150
151
151
152
152
152
153
153
154
154
155
155
156
156
157
157
158
158
159
159
160
160
160
160
160
160
160
160
160
160
160
160
160
159
159
159
159
158
158
158
158
158
158
158
158
158
158
159
159
160
161
161
162
163
164
165
166
167
168
169
171
172
173
174
175
176
177
178
179
180
181
182
183
183
184
184
185
185
186
186
186
186
186
186
187
187
187
187
187
187
188
188
188
189
189
190
191
191
192
193
194
195
195
196
197
198
199
199
200
201
201
202
203
203
204
204
204
205
205
206
206
207
207
208
209
210
211
212
213
214
215
216
217
219
220
221
223
224
225
226
228
229
230
231
232
233
233
234
235
235
236
236
236
237
237
237
237
237
237
237
236
236
236
235
235
234
234
233
233
232
231
230
230
229
228
227
227
226
225
224
223
223
222
221
221
220
219
219
218
218
217
217
216
216
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
214
214
214
214
213
213
213
212
211
211
210
209
208
207
206
205
204
203
201
200
199
198
196
195
194
193
192
190
189
188
188
187
186
185
184
184
183
182
182
181
180
180
179
178
177
177
176
175
174
173
172
171
170
168
167
166
164
163
162
160
159
157
155
154
152
150
148
146
144
142
140
138
136
134
132
130
127
125
122
120
117
115
112
110
107
105
103
100
98
96
93
91
89
87
84
82
80
78
76
74
72
70
68
66
64
62
60
58
56
54
53
51
49
47
45
44
42
40
39
37
35
34
32
31
29
28
26
25
23
22
20
19
18
16
15
13
12
11
10
8
7
6
5
3
2
1
0
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-19
-20
-21
-22
-22
-23
-24
-25
-25
-26
-27
-27
-28
-29
-29
-30
-31
-31
-32
-32
-33
-33
-34
-34
-35
-35
-36
-36
-37
-37
-38
-38
-38
-39
-39
-40
-40
-40
-41
-41
-41
-42
-42
-42
-42
-43
-43
-43
-43
-44
-44
-44
-44
-44
-45
-45
-45
-45
-45
-45
-45
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-46
-45
-45
-45
-45
-45
-45
-45
-45
-44
-44
-44
-44
-44
-44
-43
-43
-43
-43
-43
-42
-42
-42
-42
-42
-41
-41
-41
-41
-40
-40
-40
-40
-39
-39
-39
-38
-38
-38
-38
-37
-37
-37
-36
-36
-36
-35
-35
-35
-34
-34
-34
-33
-33
-33
-32
-32
-32
-31
-31
-30
-30
-30
-29
-29
-29
-28
-28
-27
-27
-27
-26
-26
-25
