0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
128
139
212
253
253
253
127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
78
194
252
253
252
240
223
252
209
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
252
252
252
253
252
130
25
121
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
236
252
252
252
253
252
240
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
243
252
252
252
252
253
252
252
244
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
255
253
253
253
243
244
253
253
253
148
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
234
253
252
252
235
60
118
252
252
252
252
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
236
253
252
252
128
0
7
186
252
252
252
199
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
230
253
252
252
45
0
0
120
252
252
252
230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
230
253
252
189
4
0
0
47
252
252
252
241
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
243
255
253
184
0
0
0
0
185
253
253
231
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
248
253
252
183
0
0
0
30
228
252
252
230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
230
253
252
234
65
0
0
47
252
252
252
230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
188
253
252
252
236
19
0
89
252
252
252
230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
253
252
252
252
75
0
161
252
252
252
230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
191
253
253
253
253
149
253
253
253
253
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
236
252
252
252
253
252
252
252
178
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
234
252
252
253
252
252
227
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
252
252
253
252
227
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
65
189
190
137
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
