0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
253
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
178
252
162
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
252
162
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
252
162
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
162
252
241
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
187
252
241
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
252
252
162
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
215
252
252
162
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
223
252
252
162
8
132
194
228
185
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
223
252
252
162
132
252
253
252
252
203
105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
224
253
253
200
219
253
255
253
253
253
253
135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
223
252
252
252
252
252
253
202
195
252
252
246
98
0
0
0
0
0
0
0
0
0
0
0
0
0
1
86
242
252
252
193
205
252
176
16
6
158
250
252
205
9
0
0
0
0
0
0
0
0
0
0
0
0
15
252
252
252
252
92
24
132
0
0
0
0
223
252
252
85
0
0
0
0
0
0
0
0
0
0
0
0
60
252
252
252
252
58
0
0
0
0
0
0
92
252
252
119
0
0
0
0
0
0
0
0
0
0
0
0
59
252
252
252
252
173
30
13
13
30
30
101
200
252
252
14
0
0
0
0
0
0
0
0
0
0
0
0
7
118
236
252
252
252
252
182
183
252
252
252
252
252
252
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
252
252
252
252
252
253
252
252
252
252
252
252
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
164
231
252
252
252
253
252
252
252
252
220
128
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
155
252
252
253
252
252
181
103
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
