0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
114
236
255
253
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
136
252
252
253
252
247
163
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
180
251
252
252
250
152
189
252
244
128
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
218
252
252
252
199
70
0
127
252
252
253
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132
253
252
252
155
7
0
36
223
252
252
253
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
236
254
253
127
0
0
43
183
253
253
253
247
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
252
253
252
47
0
36
227
252
252
252
252
211
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
252
253
174
13
119
241
253
252
252
252
252
211
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
242
253
224
211
252
252
253
205
247
252
252
185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
253
252
252
252
252
86
11
144
252
252
150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
106
203
211
211
0
0
145
253
253
194
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
197
252
252
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
180
252
252
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
232
252
252
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
232
252
252
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
233
253
253
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
232
252
252
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
232
252
252
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
206
252
252
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
127
252
252
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
