0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
132
255
253
236
132
105
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
71
191
252
253
252
252
252
252
128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
234
252
252
252
253
252
252
252
252
225
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
252
252
252
252
253
252
252
252
252
252
184
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
252
252
252
194
72
72
98
252
252
252
252
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
100
180
128
3
0
0
37
252
252
252
252
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
252
252
252
252
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
252
252
252
179
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
131
243
252
252
221
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
247
252
252
252
180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
255
253
253
253
216
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
247
253
252
252
247
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
243
252
253
252
252
211
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
241
252
252
253
252
252
252
232
134
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
96
239
252
252
252
253
252
252
252
252
252
77
0
0
0
0
0
0
0
0
0
0
0
0
0
11
153
235
252
252
252
252
252
253
252
252
252
252
231
62
0
0
0
0
0
0
0
0
0
0
0
0
0
37
252
252
252
252
252
252
252
253
252
252
252
252
139
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
252
252
252
252
252
252
252
253
243
155
155
127
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
252
252
252
252
252
205
143
24
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
154
252
252
154
86
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
