0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
92
141
141
141
141
216
216
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
144
206
253
252
252
252
253
252
252
252
169
144
13
0
0
0
0
0
0
0
0
0
0
0
0
0
198
159
252
252
253
196
130
56
119
168
130
56
119
142
13
0
0
0
0
0
0
0
0
0
0
0
0
101
253
252
252
252
128
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
226
255
253
206
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
225
253
252
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150
253
252
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
253
252
243
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
138
235
253
254
253
253
253
254
228
141
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
84
197
208
227
227
197
196
215
252
169
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
31
31
0
0
123
252
253
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
246
252
253
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
216
253
253
254
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
216
252
252
252
222
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
123
222
253
252
252
177
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
231
252
252
253
252
177
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
66
141
254
253
253
253
239
150
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
57
120
187
252
252
253
252
196
209
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
215
252
253
252
252
252
168
168
112
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
153
151
241
139
139
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
