0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
197
255
242
145
236
212
169
130
130
130
95
107
130
85
116
70
76
7
1
0
0
0
0
0
0
0
0
125
248
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
12
0
0
0
0
0
0
0
0
0
60
111
111
111
111
111
111
138
235
235
235
241
238
241
253
253
253
253
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
18
48
239
253
242
170
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
253
253
141
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
240
253
219
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
86
44
44
44
11
0
75
239
253
236
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
224
253
253
253
253
193
174
238
253
253
173
50
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
206
253
253
253
253
253
253
253
253
253
253
253
221
180
31
0
0
0
0
0
0
0
0
0
0
0
0
0
10
68
128
155
237
253
253
253
253
253
253
253
253
253
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
237
253
253
198
142
61
61
61
61
61
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
175
253
253
158
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150
253
253
98
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
240
253
159
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
241
253
205
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
253
234
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
245
253
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
247
253
234
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
249
253
236
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
253
253
155
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
