0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
38
0
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
246
161
0
0
0
0
0
0
0
0
0
57
85
0
0
0
0
0
0
0
0
0
0
0
0
0
89
196
195
65
0
0
0
0
0
0
0
0
0
169
252
0
0
0
0
0
0
0
0
0
0
7
123
169
194
148
0
0
0
0
0
0
0
0
0
10
138
224
236
0
0
0
0
0
0
0
0
0
48
165
252
252
63
0
0
0
0
0
0
0
0
0
0
163
252
236
50
0
0
0
0
0
0
0
0
0
147
253
240
63
0
0
0
0
0
0
0
0
0
0
255
253
253
84
0
0
0
0
0
0
0
0
0
147
249
252
99
0
0
0
0
0
0
0
0
67
178
225
253
252
154
9
0
0
0
0
0
0
0
0
0
253
252
252
121
57
0
19
57
73
197
198
197
240
252
252
253
233
43
0
0
0
0
0
0
0
0
0
0
237
252
252
252
252
169
196
252
252
252
253
252
252
252
252
253
74
0
0
0
0
0
0
0
0
0
0
0
50
158
252
252
252
253
252
252
252
252
190
112
142
252
252
190
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
198
253
253
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
246
252
252
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
252
252
141
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
178
252
233
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
225
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
114
253
253
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
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
38
218
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
0
38
112
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
