0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
122
29
0
0
29
172
214
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
157
254
208
0
0
130
254
254
122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
155
254
254
252
81
2
179
254
254
228
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
228
254
254
254
92
38
245
254
254
250
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
228
254
254
242
24
0
239
254
254
227
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
252
254
254
238
0
40
246
254
254
227
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
203
254
254
254
150
0
0
239
254
254
232
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
254
254
254
254
96
0
32
244
254
254
254
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
254
254
254
254
253
234
241
254
254
254
254
208
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
152
254
254
254
254
254
254
254
254
254
254
254
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
254
254
254
254
254
254
254
254
254
254
254
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
51
222
246
254
254
254
254
254
254
254
252
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
87
87
87
219
254
254
254
227
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
201
254
254
254
227
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143
254
254
254
195
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
254
255
254
254
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
254
254
254
254
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
254
254
254
254
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
250
254
254
235
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
193
254
166
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
