0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
151
253
253
255
129
105
105
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
208
249
252
252
253
252
252
252
213
103
60
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
131
252
252
252
252
253
252
252
252
252
252
252
168
38
0
0
0
0
0
0
0
0
0
0
0
0
0
145
252
252
252
252
181
133
132
132
132
238
252
252
252
128
0
0
0
0
0
0
0
0
0
0
0
0
36
232
252
252
252
252
103
0
0
0
0
70
186
252
252
220
31
0
0
0
0
0
0
0
0
0
0
11
213
252
248
142
74
74
30
0
0
0
0
0
9
168
252
252
121
0
0
0
0
0
0
0
0
0
0
95
252
252
222
0
0
0
0
0
0
0
0
0
0
134
252
252
252
0
0
0
0
0
0
0
0
0
0
164
252
252
169
0
0
0
0
0
0
0
0
0
0
134
252
252
252
0
0
0
0
0
0
0
0
0
46
231
252
238
61
0
0
0
0
0
0
0
0
0
0
134
252
252
252
0
0
0
0
0
0
0
0
0
147
252
252
90
0
0
0
0
0
0
0
0
0
0
0
134
252
252
163
0
0
0
0
0
0
0
0
44
227
253
253
29
0
0
0
0
0
0
0
0
0
0
92
253
253
253
104
0
0
0
0
0
0
0
0
105
252
252
223
22
0
0
0
0
0
0
0
0
0
98
239
252
252
179
18
0
0
0
0
0
0
0
0
105
252
252
132
0
0
0
0
0
0
0
0
19
164
242
252
252
237
55
0
0
0
0
0
0
0
0
0
174
252
252
132
0
0
0
0
0
0
0
99
205
252
252
252
188
8
0
0
0
0
0
0
0
0
0
0
253
252
252
132
0
0
0
0
0
45
136
247
252
252
229
159
14
0
0
0
0
0
0
0
0
0
0
0
235
252
252
132
0
0
0
29
144
222
253
252
252
237
156
0
0
0
0
0
0
0
0
0
0
0
0
0
105
252
252
196
95
16
134
245
252
252
253
252
164
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
252
252
252
248
240
252
252
252
199
163
40
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
192
252
252
252
246
207
154
59
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
103
103
103
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
