0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
113
114
238
253
253
253
255
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
131
225
243
252
253
252
252
252
252
253
243
50
0
0
0
0
0
0
0
0
0
0
0
0
0
38
135
253
252
252
252
220
196
195
86
71
227
253
252
87
0
0
0
0
0
0
0
0
0
0
0
10
138
224
252
253
226
114
84
37
0
0
0
4
153
253
252
102
0
0
0
0
0
0
0
0
0
0
63
178
252
252
252
112
12
0
0
0
0
0
0
107
252
253
204
25
0
0
0
0
0
0
0
0
0
0
114
253
228
47
0
0
0
0
0
0
0
0
0
169
253
255
168
0
0
0
0
0
0
0
0
0
0
0
75
243
246
225
146
0
0
0
0
0
0
0
98
243
252
215
33
0
0
0
0
0
0
0
0
0
0
0
0
50
55
55
55
0
0
0
0
0
0
67
240
252
252
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
181
252
249
223
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
191
252
252
223
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
113
255
253
228
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
196
252
253
223
130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
209
252
252
196
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
243
252
233
145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
140
253
252
252
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
170
253
255
253
133
0
0
0
0
26
113
113
114
113
113
38
0
0
0
0
0
0
0
0
0
0
29
194
243
252
253
176
6
57
85
85
131
231
252
252
253
252
252
130
0
0
0
0
0
0
0
0
0
0
85
252
252
252
253
233
197
234
252
253
252
252
252
252
253
252
252
114
0
0
0
0
0
0
0
0
0
0
85
252
252
252
253
252
252
252
252
253
252
230
223
223
84
84
84
28
0
0
0
0
0
0
0
0
0
0
38
142
252
252
253
252
252
252
252
112
112
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
