0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
113
113
255
253
253
253
253
255
253
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
123
246
252
252
253
252
252
252
252
253
252
246
122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
246
252
252
220
196
195
195
195
195
222
252
252
246
88
0
0
0
0
0
0
0
0
0
0
0
0
0
253
252
230
129
37
0
0
0
0
0
38
218
252
252
205
0
0
0
0
0
0
0
0
0
0
0
0
0
253
204
25
0
0
0
0
0
0
0
0
38
221
252
252
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
253
253
141
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
252
252
241
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
252
252
253
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
252
252
240
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
252
252
140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
222
253
253
141
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
163
226
225
146
225
146
85
140
252
252
252
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
187
252
253
252
252
252
252
253
252
252
252
252
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
252
252
253
242
223
227
252
253
252
252
252
252
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
197
252
252
190
74
0
13
189
253
252
252
252
252
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
198
253
253
0
0
26
207
253
255
253
253
253
253
255
90
0
0
0
0
0
0
0
0
0
0
0
0
0
150
252
252
163
131
231
252
252
253
223
167
224
252
253
195
85
28
0
0
0
0
0
0
0
0
0
0
0
57
252
252
253
252
252
252
252
196
52
0
137
252
253
252
252
215
119
0
0
0
0
0
0
0
0
0
0
19
180
252
253
252
252
233
145
0
0
0
10
84
225
233
252
233
145
0
0
0
0
0
0
0
0
0
0
0
13
112
253
204
112
37
0
0
0
0
0
0
0
38
112
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
