0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
161
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
228
252
185
70
0
13
70
70
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
233
252
252
252
252
208
215
252
252
210
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
230
253
252
252
252
252
253
210
22
22
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
155
253
255
249
199
116
116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
207
252
253
132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
176
252
253
123
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
252
253
244
176
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
189
253
252
252
244
126
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
127
230
247
253
253
127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
252
252
230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
70
172
252
252
199
0
0
0
0
0
0
0
0
0
0
0
0
0
17
25
0
0
0
0
0
0
43
212
252
252
252
210
74
0
0
0
0
0
0
0
0
0
0
0
0
0
99
69
0
0
0
0
0
136
240
253
252
221
137
22
0
0
0
0
0
0
0
0
0
0
0
0
0
149
249
63
9
24
87
159
253
253
253
252
157
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
253
236
161
194
252
253
252
252
235
153
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
169
252
252
252
252
247
183
100
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
98
129
66
45
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
