0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
114
192
254
253
200
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
162
252
252
253
252
252
237
146
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
251
252
252
65
21
83
245
252
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
190
252
252
155
0
0
0
83
242
239
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
190
252
252
42
0
0
0
0
79
253
186
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
191
253
253
122
0
0
0
0
0
175
253
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
127
246
252
252
191
111
43
0
0
11
205
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
252
252
253
252
242
161
39
57
247
118
15
22
22
22
22
16
0
0
0
0
0
0
0
0
0
0
0
42
154
242
253
252
252
252
252
253
252
210
225
252
253
252
252
189
0
0
0
0
0
0
0
0
0
0
0
0
0
35
147
182
252
252
252
253
252
252
252
252
253
252
252
189
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
229
255
253
253
253
236
107
106
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
253
252
252
252
226
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
253
245
242
252
252
150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
253
189
56
231
252
239
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
253
252
109
169
252
253
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
237
253
253
253
253
255
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
252
252
252
252
253
124
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
186
252
252
252
253
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
142
252
252
172
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
138
121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
