0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
179
244
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
244
253
164
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
176
252
253
206
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
244
252
253
206
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
205
252
252
253
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
170
253
253
253
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
252
252
252
157
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
253
252
252
185
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
218
253
252
227
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
165
252
253
252
130
0
0
0
0
0
0
0
0
0
32
157
230
0
0
0
0
0
0
0
0
0
36
222
253
253
255
218
32
0
0
0
0
0
0
0
24
97
222
253
253
0
0
0
0
0
0
0
0
5
178
252
252
252
249
75
0
0
0
0
0
0
38
151
253
252
252
252
252
0
0
0
0
0
0
0
0
55
252
252
252
252
115
0
0
0
0
38
91
184
240
252
253
252
252
252
252
0
0
0
0
0
0
0
0
180
252
252
252
210
0
0
0
0
85
233
252
252
252
252
253
252
252
218
108
0
0
0
0
0
0
0
0
253
252
252
210
22
0
22
116
210
250
253
252
252
252
252
253
252
168
35
0
0
0
0
0
0
0
0
0
255
253
253
211
138
202
253
253
253
253
255
253
253
253
253
231
95
0
0
0
0
0
0
0
0
0
0
0
159
252
252
252
252
253
252
252
252
157
180
252
252
252
178
42
0
0
0
0
0
0
0
0
0
0
0
0
17
227
252
252
252
190
252
202
69
6
107
252
252
252
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
45
88
56
5
45
33
0
0
15
219
252
252
211
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
252
200
200
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
