0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
202
243
60
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
254
254
181
0
0
0
25
93
93
69
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
254
224
14
0
0
21
212
254
254
255
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
254
128
0
0
0
148
251
115
71
71
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
180
230
13
0
0
38
246
196
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
254
193
0
0
0
51
254
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
254
146
0
0
0
51
254
186
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
192
241
29
0
0
0
89
254
113
0
0
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
242
185
0
0
0
0
174
254
73
0
57
203
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
146
254
73
0
0
0
0
218
254
140
201
240
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
244
218
10
0
0
8
62
236
254
254
192
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
184
250
62
23
89
174
224
254
254
254
89
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
245
245
174
236
254
254
210
155
254
207
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143
254
254
254
209
130
45
6
47
254
200
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
156
186
74
25
6
0
0
0
95
254
152
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
207
254
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
213
254
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
213
223
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
213
220
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
158
210
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
