0
0
0
0
0
0
1
1
1
1
1
2
2
2
2
2
2
2
3
3
3
4
4
4
4
4
4
4
3
3
3
2
2
2
2
2
2
2
0
0
4
4
2
2
2
2
1
1
1
1
1
1
1
1
1
1
2
3
3
4
4
3
2
2
2
2
2
2
2
1
1
1
1
0
0
1
1
1
1
0
1
0
0
0
1
1
2
2
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
3
4
4
4
4
3
3
2
2
2
2
1
1
2
2
2
2
3
2
1
1
1
2
2
1
2
3
3
3
3
3
2
2
2
3
4
3
3
2
2
3
4
4
4
4
4
4
4
4
4
4
4
4
5
5
4
4
5
9
9
9
10
10
10
10
11
11
11
12
10
9
9
15
18
21
22
24
26
27
24
21
19
18
17
17
17
18
18
16
16
16
16
17
18
17
15
14
14
13
13
14
15
15
22
21
22
25
19
18
10
26
18
13
13
13
13
13
14
14
14
16
16
17
16
16
23
24
18
14
14
14
14
17
18
18
16
15
13
13
13
13
12
12
13
12
12
12
13
14
14
14
14
15
15
20
14
12
12
12
13
13
12
12
11
11
11
10
10
9
10
10
10
11
10
10
10
10
10
10
10
10
10
12
12
11
10
10
10
9
9
9
9
9
8
9
9
9
9
9
9
9
9
9
12
12
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
11
11
9
8
7
6
25
34
48
48
48
48
50
50
55
55
55
55
55
55
55
55
54
54
54
54
54
54
52
52
52
52
53
57
57
64
65
67
68
76
77
77
77
77
76
76
77
87
89
97
98
98
96
96
95
97
99
101
102
102
103
103
103
102
101
97
95
90
89
86
85
83
82
82
81
79
79
78
77
76
74
73
70
68
66
65
63
62
60
56
50
48
47
41
33
33
33
33
33
32
32
18
16
15
13
13
15
16
16
16
16
16
15
15
15
15
15
15
14
14
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
16
15
15
15
14
16
16
19
19
19
19
19
19
19
18
15
16
19
19
19
18
17
17
18
21
19
20
20
21
21
21
20
20
20
20
20
20
20
20
20
20
21
21
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
20
18
18
17
17
18
18
19
19
20
21
25
26
26
23
22
22
21
21
21
21
21
21
21
21
21
21
21
27
27
27
27
27
27
29
29
33
38
39
31
28
28
36
37
27
24
23
23
25
26
27
29
31
24
24
24
24
24
24
24
24
24
24
24
24
24
26
26
26
26
26
32
27
29
34
37
37
37
34
28
25
25
25
23
23
23
23
24
24
24
24
24
25
25
26
27
27
27
27
26
26
26
26
26
26
26
29
29
29
30
32
32
32
32
32
32
32
33
35
35
35
36
36
36
37
40
40
40
40
40
41
43
42
42
42
43
50
53
55
63
65
67
68
70
71
71
70
76
78
80
82
87
86
85
84
84
87
89
91
91
90
89
89
90
91
91
91
91
92
95
92
91
90
90
89
87
87
86
85
88
91
94
97
106
108
109
112
113
114
119
121
128
128
130
131
131
132
134
135
135
138
155
160
163
164
166
167
173
174
175
183
184
184
184
184
183
182
186
187
190
194
190
188
188
187
187
186
185
185
184
184
183
184
185
186
186
187
188
189
189
189
189
188
185
184
183
197
204
206
208
210
213
214
215
215
215
216
216
217
217
219
219
220
220
222
222
224
224
225
225
226
232
233
234
235
236
238
240
242
247
250
253
257
259
259
261
261
261
261
260
260
259
258
256
256
255
256
257
259
264
282
282
283
284
285
287
290
290
290
290
289
289
287
290
293
294
296
298
308
310
313
312
312
311
311
310
314
316
317
317
318
319
324
326
334
336
340
342
344
347
343
337
333
334
335
339
339
339
341
343
355
356
358
360
365
367
367
367
367
367
367
369
370
372
373
379
382
384
388
396
404
410
413
413
413
411
410
409
408
403
399
395
394
394
393
393
395
398
400
402
405
413
414
419
420
422
423
425
424
423
421
421
421
421
423
429
429
426
419
413
413
390
395
396
391
391
391
393
395
396
397
397
400
399
398
395
394
394
396
399
400
401
402
402
402
402
388
388
388
388
387
386
386
385
386
386
386
386
386
384
384
384
383
382
381
380
378
375
374
373
372
372
372
361
359
356
353
347
345
340
336
335
332
324
320
316
314
314
312
309
309
309
309
309
309
309
309
307
304
303
302
301
299
297
294
289
286
276
274
274
271
271
269
269
268
267
263
256
251
240
238
236
235
235
235
234
233
232
231
230
227
226
224
220
214
207
204
199
199
199
199
183
182
182
179
177
175
172
171
168
168
166
165
160
159
159
157
157
157
156
155
155
154
154
154
158
161
162
163
164
171
172
173
174
178
179
181
187
184
172
165
152
151
150
117
113
105
103
102
100
99
98
93
91
87
84
72
69
66
64
62
62
57
51
46
42
29
29
29
31
31
32
34
35
36
34
34
34
35
33
33
33
33
32
32
32
32
34
36
36
34
34
34
34
33
33
31
29
28
28
30
31
31
33
36
38
33
35
35
36
37
40
40
41
41
40
39
38
36
35
35
33
33
32
31
31
31
31
31
31
31
31
31
31
31
31
32
31
30
29
29
30
31
31
31
31
31
31
31
30
30
30
30
30
31
31
31
31
31
31
31
31
31
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
30
31
31
31
32
33
33
34
35
36
37
37
38
38
39
39
39
39
40
41
41
41
43
46
56
61
57
56
55
48
46
46
46
42
42
41
41
40
45
50
51
53
56
59
54
54
56
72
63
63
63
63
62
51
49
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
48
48
48
48
48
48
48
48
48
48
48
49
50
51
51
51
51
51
51
51
51
51
51
50
50
50
50
50
50
51
53
53
53
53
53
54
54
54
54
54
54
63
68
74
79
76
71
64
68
75
63
62
65
67
67
65
70
66
63
63
63
62
63
64
64
65
65
66
68
68
72
72
73
74
75
77
77
77
74
73
74
73
71
71
71
71
71
72
72
72
73
73
73
73
73
73
74
74
76
77
78
78
78
79
80
81
82
83
83
83
83
82
82
82
84
85
85
87
92
107
116
119
121
123
125
129
129
131
141
145
147
148
150
151
153
155
157
163
168
170
177
181
186
200
209
212
212
227
230
235
235
234
232
230
229
229
243
247
246
247
262
267
281
288
288
293
292
291
289
287
286
287
290
293
293
293
297
296
295
294
291
289
288
285
285
285
286
292
301
301
300
299
299
299
300
300
302
302
303
304
305
306
305
303
301
299
302
303
304
304
304
304
303
303
303
303
303
303
302
302
301
301
300
300
299
299
299
299
299
299
300
300
301
302
303
303
304
304
307
306
306
305
304
303
302
300
300
300
299
299
299
299
296
296
296
296
299
300
296
295
286
285
284
284
284
283
280
279
279
278
277
284
286
288
291
275
270
259
257
261
263
264
264
262
257
255
257
256
252
250
249
251
257
261
255
258
261
262
264
264
264
265
266
267
265
258
254
252
250
249
247
246
245
244
244
243
234
225
220
216
213
210
209
203
197
196
192
190
190
190
189
189
189
189
191
194
196
196
196
182
171
170
156
153
154
152
148
145
143
140
133
130
121
117
112
108
101
100
99
98
97
97
97
95
112
119
124
133
147
143
138
133
130
130
130
130
131
133
133
138
134
127
120
110
106
79
78
77
76
76
72
72
72
72
72
74
73
73
72
72
71
71
69
68
67
67
67
67
67
67
67
67
67
64
64
65
66
65
65
64
64
65
66
65
65
64
63
63
65
67
70
78
81
79
71
67
65
64
62
59
58
58
58
58
58
58
58
59
60
61
60
60
59
59
60
61
72
73
73
73
73
75
76
78
81
82
101
102
104
107
108
111
112
114
117
117
117
117
117
115
115
114
112
111
110
109
105
106
107
111
111
111
112
119
118
116
113
112
114
114
114
113
113
113
112
112
111
104
103
81
74
70
56
56
56
56
55
55
55
55
54
53
53
53
54
55
56
58
60
61
61
60
56
56
59
59
61
60
60
59
59
60
61
44
50
50
56
56
55
51
49
49
49
49
49
49
50
50
53
52
52
52
52
51
51
51
51
51
51
51
51
52
53
53
53
53
53
55
53
53
53
53
53
53
52
51
51
51
51
51
51
51
51
50
50
50
50
49
49
54
54
54
54
53
53
53
54
54
54
54
53