0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
78
161
161
110
178
186
161
161
151
47
47
47
47
0
0
0
0
0
0
0
0
0
0
0
0
0
185
228
252
252
252
253
252
252
252
252
253
252
252
252
252
174
25
0
0
0
0
0
0
0
0
0
0
0
253
252
252
252
252
253
235
160
236
210
161
219
252
252
252
253
202
25
0
0
0
0
0
0
0
0
0
0
148
252
168
96
22
23
18
0
19
12
0
15
54
179
252
253
252
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
108
253
255
249
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
155
252
252
253
185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
155
252
252
252
247
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
212
252
252
252
252
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
168
253
252
252
210
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
170
253
253
255
253
205
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
219
252
252
252
228
132
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
116
253
252
252
252
252
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
134
248
253
252
252
218
56
0
0
0
0
0
9
166
207
207
155
0
0
0
0
0
0
0
0
0
0
70
252
252
253
252
136
14
0
0
22
116
157
230
233
252
252
210
32
0
0
0
0
0
0
0
0
0
0
70
253
253
255
232
138
138
243
255
253
253
253
253
242
230
167
0
0
0
0
0
0
0
0
0
0
0
0
57
244
252
253
252
252
252
252
253
252
252
235
153
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
205
253
252
252
252
252
247
215
151
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
46
67
77
139
56
42
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
