0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
102
102
148
147
102
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
131
219
254
254
254
254
254
165
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
254
254
254
178
108
210
254
254
174
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
242
253
254
223
48
3
0
5
7
226
239
0
118
248
182
17
0
0
0
0
0
0
0
0
0
0
0
23
249
254
233
49
0
0
0
0
0
54
93
194
246
254
238
39
0
0
0
0
0
0
0
0
0
0
0
147
254
233
52
0
0
0
0
0
0
39
217
254
254
254
146
0
0
0
0
0
0
0
0
0
0
0
45
249
254
216
0
0
0
0
0
0
0
216
254
254
234
164
9
0
0
0
0
0
0
0
0
0
0
0
47
254
254
216
0
0
0
0
0
22
107
247
254
254
173
0
0
0
0
0
0
0
0
0
0
0
0
0
23
199
254
236
132
8
0
0
121
218
254
254
246
123
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
249
254
254
234
233
233
253
254
254
233
166
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
131
235
254
254
254
254
254
254
254
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
130
130
221
254
254
254
194
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
205
254
254
97
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
254
254
250
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
254
254
177
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
221
254
222
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
139
254
254
123
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
139
254
254
123
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
243
254
231
209
190
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
146
254
255
254
136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
