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
2
2
4
4
4
4
7
10
18
25
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
42
42
42
42
42
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
46
50
50
50
50
54
54
54
54
54
54
54
54
54
54
61
75
86
87
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
96
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
101
104
109
109
112
116
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
119
119
121
121
124
124
125
128
136
145
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
164
165
165
165
165
165
165
166
166
166
166
166
166
167
167
167
167
167
167
167
167
167
167
167
167
168
168
168
168
168
168
168
168
168
168
169
170
170
170
170
170
170
170
173
178
178
178
179
183
183
184
184
186
187
187
187
188
189
199
213
223
225
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
235
236
236
236
236
236
236
236
236
236
237
237
237
237
237
237
237
241
244
249
249
252
256
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
258
258
259
259
259
259
259
259
259
260
260
260
260
260
260
260
260
260
260
263
263
264
265
268
268
270
273
276
279
279
283
286
292
301
314
323
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
344
345
345
346
346
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
348
348
349
350
351
352
352
352
352
353
353
353
353
353
353
354
354
355
355
355
355
355
355
355
355
355
355
356
356
356
356
356
356
358
358
358
358
359
362
363
363
363
366
370
370
373
378
378
381
384
389
394
397
402
407
410
413
416
421
426
441
456
469
480
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
493
494
495
495
495
496
497
497
497
497
497
497
497
497
497
497
498
499
499
499
499
499
499
499
499
499
500
500
500
500
501
501
501
505
509
514
514
519
524
525
525
525
