0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
58
150
157
254
255
254
214
150
73
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
216
253
253
253
253
253
253
253
253
253
176
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
249
253
253
253
236
217
130
114
114
179
253
252
70
0
0
17
14
0
0
0
0
0
0
0
0
0
20
220
253
253
211
99
36
0
0
0
0
11
103
116
19
0
23
202
211
34
0
0
0
0
0
0
0
0
0
197
253
253
134
0
0
0
0
0
0
0
0
0
0
0
79
253
253
46
0
0
0
0
0
0
0
0
0
126
253
253
246
84
0
0
0
0
0
0
0
0
0
117
229
253
253
46
0
0
0
0
0
0
0
0
0
12
232
253
253
245
168
12
0
0
0
0
0
28
194
250
253
242
111
6
0
0
0
0
0
0
0
0
0
0
13
184
253
253
253
232
122
25
0
36
99
248
253
253
237
63
0
0
0
0
0
0
0
0
0
0
0
0
0
14
105
250
253
253
253
229
213
236
253
253
252
197
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
192
253
253
253
253
253
253
247
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
218
253
253
253
253
253
234
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
237
253
253
228
228
253
253
253
218
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
134
235
253
232
121
24
24
178
253
253
253
223
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
244
253
226
11
0
0
0
3
94
233
253
253
250
89
0
0
0
0
0
0
0
0
0
0
0
0
12
207
253
231
51
0
0
0
0
0
0
39
202
253
253
214
0
0
0
0
0
0
0
0
0
0
0
0
88
253
253
129
0
0
0
0
0
0
0
0
18
222
253
243
0
0
0
0
0
0
0
0
0
0
0
0
71
253
253
196
171
104
67
0
0
0
0
64
68
201
253
243
0
0
0
0
0
0
0
0
0
0
0
0
6
188
253
253
253
253
253
218
218
218
218
251
253
253
253
243
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
123
196
210
253
253
253
253
253
253
253
253
238
145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
48
149
190
253
253
253
221
99
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
