0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
147
253
253
253
114
113
113
101
63
114
113
144
84
0
0
0
0
0
0
0
0
0
0
0
0
0
48
226
249
252
252
252
253
252
252
249
240
253
252
252
84
0
0
0
0
0
0
0
0
0
0
0
0
0
140
253
252
252
252
252
253
252
252
252
252
253
252
252
84
0
0
0
0
0
0
0
0
0
0
0
0
19
215
253
252
230
223
223
240
223
223
208
84
84
84
84
28
0
0
0
0
0
0
0
0
0
0
0
0
13
189
253
204
25
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
253
255
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
252
253
167
0
10
85
0
0
19
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
252
253
186
57
156
252
198
197
209
246
197
198
150
13
0
0
0
0
0
0
0
0
0
0
0
0
0
169
252
253
252
252
252
252
253
252
252
252
252
253
252
155
10
0
0
0
0
0
0
0
0
0
0
0
32
215
252
253
252
252
252
252
253
252
252
252
252
253
252
252
84
0
0
0
0
0
0
0
0
0
0
0
57
253
253
255
253
253
178
140
141
94
111
140
140
255
253
253
84
0
0
0
0
0
0
0
0
0
0
0
38
167
167
168
42
27
9
0
0
0
0
0
0
206
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
0
0
113
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
0
0
128
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
0
79
253
252
252
84
0
0
0
0
0
0
0
0
0
0
38
113
38
0
0
0
0
0
0
0
0
26
207
253
255
253
228
47
0
0
0
0
0
0
0
0
0
0
85
252
234
225
85
85
85
85
85
85
131
231
252
252
253
176
21
0
0
0
0
0
0
0
0
0
0
0
85
252
252
252
253
252
252
252
252
253
252
252
252
252
228
52
0
0
0
0
0
0
0
0
0
0
0
0
76
230
236
252
253
252
252
252
252
253
252
252
249
145
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
50
112
112
112
142
252
252
253
252
252
145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
