0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
254
254
254
254
135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
250
253
253
253
253
252
248
160
118
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
216
253
253
253
253
253
253
253
253
253
232
103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
251
253
253
224
48
49
170
253
253
253
253
234
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
251
253
253
182
18
0
0
6
49
170
253
253
251
149
0
0
0
0
0
0
0
0
0
0
0
0
88
225
253
253
253
61
0
0
0
0
0
26
221
253
253
245
42
0
0
0
0
0
0
0
0
0
0
40
245
253
253
253
137
7
0
0
0
0
0
0
42
221
253
253
117
0
0
0
0
0
0
0
0
0
0
118
253
253
253
225
27
0
0
0
0
0
0
0
0
156
253
253
117
0
0
0
0
0
0
0
0
0
0
118
253
253
253
58
0
0
0
0
0
0
0
0
0
156
253
253
117
0
0
0
0
0
0
0
0
0
0
151
253
253
177
8
0
0
0
0
0
0
0
0
0
156
253
253
217
0
0
0
0
0
0
0
0
0
0
248
253
253
58
0
0
0
0
0
0
0
0
0
0
156
253
253
247
0
0
0
0
0
0
0
0
0
0
154
253
253
120
0
0
0
0
0
0
0
0
0
0
156
253
253
220
0
0
0
0
0
0
0
0
0
0
208
253
253
155
0
0
0
0
0
0
0
0
0
6
174
253
253
117
0
0
0
0
0
0
0
0
0
0
160
253
253
155
0
0
0
0
0
0
0
0
7
134
253
253
253
117
0
0
0
0
0
0
0
0
0
0
118
253
253
155
0
0
0
0
0
0
0
6
67
253
253
253
252
102
0
0
0
0
0
0
0
0
0
0
45
246
253
216
33
0
0
0
0
7
27
134
253
253
253
251
148
0
0
0
0
0
0
0
0
0
0
0
0
241
253
253
216
40
128
150
150
174
253
253
253
253
251
215
0
0
0
0
0
0
0
0
0
0
0
0
0
105
243
253
253
253
253
253
253
253
253
253
253
253
153
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
229
253
253
253
250
253
253
221
210
156
183
117
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
161
139
234
83
123
123
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
