0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
80
195
85
80
80
80
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
253
253
253
253
253
253
152
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
62
56
0
9
253
253
253
253
253
253
251
237
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
141
253
241
83
4
161
253
253
253
253
253
253
253
60
0
0
0
0
0
0
0
0
0
0
0
0
11
141
248
253
253
147
0
73
209
252
253
253
253
253
253
212
0
0
0
0
0
0
0
0
0
0
0
0
147
253
253
253
253
199
34
0
0
160
253
142
194
253
253
244
77
0
0
0
0
0
0
0
0
0
9
136
250
253
253
253
253
253
69
0
0
15
52
5
27
201
253
253
156
0
0
0
0
0
0
0
0
0
80
253
253
253
253
253
253
209
41
0
0
0
0
0
0
36
253
253
196
33
0
0
0
0
0
0
0
0
86
253
253
253
253
253
234
41
0
0
0
0
0
0
0
42
253
253
253
78
0
0
0
0
0
0
0
0
254
253
253
253
253
253
165
0
0
0
0
0
0
0
0
211
253
253
253
78
0
0
0
0
0
0
0
0
254
253
253
253
253
172
18
0
0
0
0
0
0
0
0
211
253
253
253
78
0
0
0
0
0
0
0
0
254
253
253
253
210
4
0
0
0
0
0
0
42
229
246
252
253
253
159
3
0
0
0
0
0
0
0
0
254
253
253
253
209
0
0
0
0
0
99
149
210
253
253
253
253
242
65
0
0
0
0
0
0
0
0
0
255
253
253
253
218
53
53
53
180
228
244
253
253
253
253
253
253
77
0
0
0
0
0
0
0
0
0
0
163
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
193
29
0
0
0
0
0
0
0
0
0
0
80
253
253
253
253
253
253
253
253
253
253
253
253
253
234
193
24
0
0
0
0
0
0
0
0
0
0
0
44
210
253
253
253
253
253
253
253
253
253
253
253
229
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
228
253
253
253
253
253
253
253
253
248
235
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
210
253
253
253
253
253
253
189
114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
108
253
253
179
78
78
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
