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
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
32
19
45
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
85
134
229
215
240
252
198
197
197
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
113
226
231
252
252
253
252
252
252
253
252
252
190
0
0
0
0
0
0
0
0
0
0
0
0
92
253
253
253
255
253
253
253
254
253
253
253
254
253
253
241
16
104
141
141
0
0
0
0
0
0
0
0
216
252
252
252
253
252
252
252
247
196
196
196
197
196
240
215
216
252
252
252
0
0
0
0
0
0
0
0
253
252
252
252
253
252
252
177
50
0
0
0
0
82
240
252
253
252
224
118
0
0
0
0
0
0
0
0
203
252
252
252
253
252
252
228
114
38
0
0
176
243
252
252
253
151
19
0
0
0
0
0
0
0
0
0
0
101
235
253
254
253
253
253
254
253
165
241
254
253
253
253
163
38
0
0
0
0
0
0
0
0
0
0
0
0
28
133
253
252
252
252
253
252
252
252
253
252
233
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
168
196
252
253
252
252
252
253
252
234
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
240
253
252
252
252
253
252
252
240
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
154
253
254
253
253
228
226
244
253
253
226
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
131
252
252
253
252
196
35
57
187
252
252
200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
197
252
252
253
252
234
222
253
252
252
252
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
252
252
252
253
252
252
252
253
252
252
252
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
253
253
253
254
253
253
253
254
247
225
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
196
252
252
253
252
252
202
84
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
56
56
56
56
56
6
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
