0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
125
125
125
158
158
125
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
157
254
254
254
254
255
254
254
251
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
172
254
254
254
254
254
254
254
254
247
144
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
104
254
254
254
254
254
254
254
254
222
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
25
133
184
254
254
254
254
254
222
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
184
232
254
254
254
254
254
222
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
117
248
254
254
254
254
254
254
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
216
254
254
254
254
254
254
254
131
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
242
254
254
254
254
254
254
222
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
241
254
205
236
254
254
230
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
65
17
153
254
254
254
128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
254
254
254
228
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
254
254
254
137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
231
254
254
254
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
9
152
254
254
254
233
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
142
207
157
50
131
182
254
254
254
254
208
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
244
254
254
254
254
254
254
254
254
251
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
254
254
254
254
254
254
254
254
245
136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
235
254
254
254
254
254
250
221
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
235
254
254
221
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
