0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
141
253
253
253
255
197
121
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132
240
249
252
252
252
252
253
252
252
165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
248
252
252
237
158
82
75
253
252
252
201
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
235
226
136
39
33
0
0
133
253
218
201
252
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
212
252
172
0
0
0
0
0
28
253
173
26
221
158
0
0
0
0
0
0
0
0
0
0
0
0
0
26
242
252
172
0
0
0
0
0
0
129
249
74
221
185
0
0
0
0
0
0
0
0
0
0
0
0
0
38
244
252
81
0
0
0
0
0
0
0
148
252
252
185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
226
252
39
0
0
0
0
0
0
0
39
236
252
185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
252
117
0
0
0
0
0
0
0
6
228
252
189
4
0
0
0
0
0
0
0
0
0
0
0
0
0
51
238
214
99
0
0
0
0
0
64
183
252
252
252
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
164
253
253
225
121
121
121
121
255
253
159
0
68
253
80
0
0
0
0
0
0
0
0
0
0
0
0
0
5
55
230
252
252
252
252
252
202
90
8
0
4
133
135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
125
158
158
151
26
14
0
0
0
0
6
177
132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
173
225
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
138
246
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
203
176
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
41
41
174
173
89
0
0
0
131
252
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
252
252
253
252
50
27
27
126
223
249
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
239
252
253
252
252
252
252
252
243
143
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
119
120
245
252
252
252
224
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
