0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
137
77
124
202
255
255
139
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
195
253
253
253
253
253
253
253
206
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
197
221
253
252
248
91
104
181
249
253
197
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
218
251
120
0
0
0
0
28
253
253
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
214
202
0
0
0
0
0
7
193
253
218
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
253
226
0
0
0
0
0
2
177
253
253
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
217
237
0
0
0
0
0
28
253
253
253
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
230
0
0
0
0
0
111
253
253
228
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
188
253
253
214
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
244
253
253
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
251
253
216
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
157
253
248
92
0
0
0
0
0
0
0
0
0
0
0
0
0
55
168
168
168
168
131
31
0
0
40
188
253
253
163
0
0
0
0
0
0
0
0
0
0
0
0
0
104
247
253
253
253
253
253
230
206
121
177
253
253
231
16
0
0
0
0
0
0
0
0
0
0
0
0
0
184
253
253
253
253
253
242
253
253
253
253
253
253
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
184
253
242
154
81
81
46
120
253
253
253
253
253
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
184
253
210
0
5
170
211
232
253
253
245
105
150
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
184
253
234
107
227
253
253
253
253
228
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
253
253
253
253
253
253
242
75
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
131
163
253
253
186
109
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
