0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
28
215
254
254
221
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
109
253
253
253
253
253
219
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
253
253
253
253
240
240
253
125
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
114
253
253
236
140
28
62
248
253
166
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
253
253
211
31
0
0
0
183
253
166
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
164
253
248
74
0
0
0
0
75
253
222
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
253
253
195
0
0
0
0
0
26
221
253
74
153
16
0
0
0
0
0
0
0
0
0
0
0
0
0
19
253
253
93
0
0
0
0
0
0
205
253
253
253
49
0
0
0
0
0
0
0
0
0
0
0
0
0
6
179
253
120
0
0
0
0
0
54
239
253
253
253
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
149
253
243
94
0
0
0
17
119
253
253
253
229
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
116
253
253
243
192
192
192
209
253
253
253
253
154
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
80
253
253
253
253
253
253
253
253
253
253
118
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
49
144
253
196
212
139
49
114
253
253
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
43
13
21
0
0
124
253
253
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
205
253
253
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
205
253
253
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
205
253
253
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
205
253
253
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
205
253
253
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
144
253
208
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
