0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
63
155
238
254
255
254
225
158
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
124
254
254
240
225
225
225
225
241
249
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
254
222
70
37
0
0
0
0
53
235
235
187
42
0
0
0
0
0
0
0
0
0
0
0
0
0
56
249
230
3
0
0
0
0
0
0
10
213
254
254
136
0
0
0
0
0
0
0
0
0
0
0
0
0
92
254
103
0
0
0
0
0
0
0
23
211
254
254
249
0
0
0
0
0
0
0
0
0
0
0
0
0
92
234
25
0
0
0
0
0
0
0
0
10
254
254
216
0
0
0
0
0
0
0
0
0
0
0
0
0
92
230
23
0
0
0
0
0
0
0
0
87
254
246
49
0
0
0
0
0
0
0
0
0
0
0
0
0
50
252
126
0
0
0
0
0
0
0
20
225
254
164
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
151
237
54
0
0
0
0
0
0
106
254
230
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
214
249
184
144
114
49
91
209
253
254
128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
117
199
251
254
254
247
210
246
253
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
81
81
46
0
235
244
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
235
244
0
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
236
244
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
254
244
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
237
244
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
199
251
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
235
254
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
235
252
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
249
244
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
