0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
215
255
255
174
115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
215
252
253
253
253
253
253
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
123
253
253
253
253
253
253
253
253
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
196
253
253
180
128
117
253
253
253
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
138
228
248
253
89
8
0
4
166
253
253
117
0
0
0
0
0
0
0
0
0
0
0
0
0
36
138
249
253
253
253
253
185
0
0
0
156
253
253
230
0
0
0
0
0
0
0
0
0
0
0
0
79
217
253
253
253
253
253
253
218
26
0
0
156
253
253
249
42
0
0
0
0
0
0
0
0
0
0
92
250
253
253
253
253
253
253
253
170
14
0
0
156
253
253
253
123
0
0
0
0
0
0
0
0
0
34
218
253
253
253
253
231
181
148
51
15
0
0
0
156
253
253
248
25
0
0
0
0
0
0
0
0
0
118
253
253
253
230
78
40
0
0
0
0
0
0
0
156
253
253
247
0
0
0
0
0
0
0
0
0
0
148
253
253
230
58
0
0
0
0
0
0
0
0
0
156
253
253
149
0
0
0
0
0
0
0
0
0
26
249
253
253
155
0
0
0
0
0
0
0
0
0
24
226
253
253
117
0
0
0
0
0
0
0
0
0
125
253
253
253
89
0
0
0
0
0
0
0
0
8
139
253
253
253
117
0
0
0
0
0
0
0
0
0
125
253
253
253
155
0
0
0
0
0
0
0
0
60
253
253
253
224
39
0
0
0
0
0
0
0
0
0
125
253
253
253
155
0
0
0
0
0
0
0
47
223
253
253
241
40
0
0
0
0
0
0
0
0
0
0
125
253
253
253
216
110
4
0
0
0
50
156
224
253
253
253
234
0
0
0
0
0
0
0
0
0
0
0
51
240
253
253
253
253
165
150
150
150
227
253
253
253
253
241
148
0
0
0
0
0
0
0
0
0
0
0
0
51
240
253
253
253
253
253
253
253
253
253
253
253
252
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
237
249
253
253
253
253
253
253
248
247
226
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
253
253
253
253
152
123
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
