0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
128
192
133
117
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
243
253
254
253
253
253
147
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
135
240
253
253
253
217
240
253
253
135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
253
253
253
253
81
0
70
237
253
123
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
236
253
230
140
72
0
0
0
140
253
180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
182
253
253
64
0
0
0
0
0
49
253
236
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
240
253
253
36
0
0
0
0
0
49
253
253
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
253
253
180
5
0
0
0
0
0
49
253
253
209
17
0
0
0
0
0
0
0
0
0
0
0
0
34
246
253
253
168
0
0
0
0
0
0
49
253
253
168
0
0
0
0
0
0
0
0
0
0
0
0
0
95
253
253
218
30
0
0
0
0
0
0
49
253
253
168
0
0
0
0
0
0
0
0
0
0
0
0
0
158
254
254
220
25
0
0
0
0
0
2
174
254
254
163
0
0
0
0
0
0
0
0
0
0
0
0
0
157
253
253
253
48
0
0
0
0
0
37
253
253
253
48
0
0
0
0
0
0
0
0
0
0
0
0
0
83
253
253
253
48
0
0
0
0
0
112
253
253
208
18
0
0
0
0
0
0
0
0
0
0
0
0
0
37
253
253
253
48
0
0
0
0
40
222
253
253
180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
253
253
253
134
0
0
0
9
223
253
253
239
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
253
253
253
193
11
0
35
198
253
253
239
137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
144
253
253
253
36
37
223
254
253
241
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
226
253
253
223
233
253
254
186
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
182
253
253
253
253
201
82
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
81
253
253
143
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
