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
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
3
4
5
6
7
8
10
11
11
13
15
16
17
19
19
19
19
19
19
19
19
19
19
19
19
19
18
18
18
18
18
18
17
17
17
17
17
16
16
16
16
15
15
15
15
15
15
15
16
16
16
17
18
18
19
19
20
20
21
21
22
22
23
23
24
25
25
26
27
27
28
28
29
30
30
31
31
31
32
33
34
34
35
36
36
37
37
38
39
39
40
41
43
44
45
46
47
48
49
50
51
53
54
55
56
57
57
58
59
60
60
61
62
62
63
64
65
65
66
67
68
68
69
70
71
72
73
73
74
75
76
77
78
79
80
81
82
83
84
86
86
88
89
90
90
90
90
90
90
91
91
91
91
91
91
92
93
94
94
95
95
95
96
97
97
98
99
99
100
101
102
103
103
103
104
104
104
104
103
103
102
101
101
99
98
96
94
92
90
88
86
84
83
81
80
80
81
83
84
85
88
89
90
92
92
92
92
92
92
92
92
92
93
93
93
93
93
93
93
93
93
93
93
93
93
92
91
89
88
87
85
83
81
80
78
77
76
74
73
73
73
74
74
74
74
74
74
74
74
74
74
73
73
72
72
72
71
71
71
70
70
69
69
68
68
68
67
67
67
66
66
65
65
65
64
64
63
63
63
65
66
68
70
72
74
75
77
80
82
84
86
87
90
92
92
92
93
94
94
94
95
95
96
96
97
97
97
97
96
95
95
94
94
93
93
92
92
92
92
94
95
97
99
100
102
104
106
107
109
111
114
115
116
118
118
119
120
121
121
122
123
124
125
125
126
127
128
129
130
131
131
130
129
128
127
126
126
125
124
123
122
123
124
126
127
128
129
130
130
132
133
134
136
137
138
138
139
140
141
141
143
143
144
145
146
148
149
150
150
150
150
150
150
150
150
150
150
150
150
151
153
154
156
158
160
162
163
165
167
168
171
172
171
170
170
169
168
167
166
165
165
164
163
162
161
160
161
163
164
166
169
170
171
174
175
176
177
179
180
181
183
185
188
190
191
193
196
198
200
203
205
206
209
211
214
216
217
218
219
220
220
221
222
223
224
225
226
227
227
228
229
230
230
230
230
230
229
229
229
228
228
228
228
228
227
227
227
227
226
226
225
225
225
225
224
224
224
223
223
223
223
222
222
222
222
224
225
226
227
229
230
231
232
233
234
235
237
238
240
241
242
243
244
245
246
246
247
248
249
250
251
252
253
253
253
253
254
254
254
254
254
255
255
255
255
256
256
256
256
257
257
257
257
257
257
257
257
258
258
258
258
258
258
258
258
255
254
252
250
248
247
248
250
251
253
254
255
257
258
259
260
261
265
267
268
269
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
269
268
267
266
265
264
263
262
259
258
256
254
252
249
245
242
239
236
236
239
241
243
245
248
251
254
257
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
259
259
259
258
258
258
257
257
257
256
256
256
256
256
256
256
256
257
257
257
258
258
258
260
261
261
262
262
263
263
264
265
265
265
266
266
266
267
268
268
268
269
269
269
270
270
271
271
272
272
273
274
274
275
275
276
276
277
277
277
277
277
277
277
277
277
277
276
276
276
276
276
276
276
276
277
278
278
279
279
279
280
280
281
281
281
281
281
281
280
280
279
278
277
277
276
276
277
279
281
283
284
285
285
286
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
288
288
289
290
290
291
292
293
293
294
295
296
296
297
298
298
299
299
300
300
300
301
301
302
302
303
304
304
304
305
305
305
304
304
303
302
301
301
300
299
298
297
297
296
295
294
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
292
292
292
292
292
292
292
291
291
291
291
290
290
290
290
289
289
289
289
289
288
288
288
287
287
287
286
286
286
285
285
285
284
284
283
283
283
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
283
282
282
281
281
281
280
280
280
280
281
282
283
285
286
287
289
290
292
293
294
295
296
297
298
299
300
300
301
302
303
304
305
306
307
308
308
308
309
309
310
310
310
311
311
312
312
312
313
313
314
314
315
315
315
316
316
316
317
317
318
318
319
319
319
318
315
313
311
311
310
310
313
314
315
316
318
320
321
323
324
326
326
326
326
326
326
326
326
326
326
326
326
326
326
326
327
328
329
330
331
332
333
334
335
337
338
339
339
340
341
342
343
343
344
345
345
346
347
348
349
349
350
352
353
354
355
356
356
357
358
358
359
360
360
361
362
362
364
365
366
367
368
370
371
372
373
373
374
375
375
377
378
378
378
378
378
377
377
377
377
376
376
376
376
375
375
375
375
375
375
375
375
375
375
375
375
375
373
371
369
366
364
361
361
359
357
355
353
352
353
355
356
358
360
361
362
362
363
363
364
365
366
366
367
368
368
369
370
370
371
371
372
372
373
373
374
374
374
374
374
374
374
374
374
373
373
373
373
372
372
371
369
366
363
359
354
350
347
346
346
346
346
345
342
340
337
330
323
317
313
309
307
303
300
298
297
296
295
295
295
295
293
291
288
285
283
281
279
276
274
274
273
271
268
266
265
264
259
254
250
245
238
231
227
224
220
217
213
209
204
199
197
197
195
189
183
177
173
170
166
161
155
154
153
149
145
142
138
133
127
125
125
122
120
115
110
108
108
105
99
96
96
94
91
88
86
85
84
84
83
81
79
77
75
73
71
70
69
68
67
66
66
64
61
60
58
56
54
53
50
49
48
46
43
41
39
38
38
37
37
37
35
34
32
30
29
27
26
26
25
24
23
22
20
20
18
17
15
14
13
12
10
8
6
3
1
1
0
0