0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
109
109
233
253
253
110
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
139
252
252
252
252
252
253
242
217
217
73
73
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
71
231
252
252
252
253
252
252
252
253
252
154
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
252
252
168
108
108
108
108
108
108
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
252
252
108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
252
252
108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
252
252
128
37
37
37
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
252
252
252
253
252
252
190
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
253
253
253
255
159
144
144
255
211
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
242
252
210
35
5
0
0
35
159
206
217
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
71
31
0
0
0
0
0
0
181
252
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
252
207
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
207
255
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
253
179
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
253
179
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
206
253
179
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
110
109
94
0
0
0
99
253
255
180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
217
217
237
253
252
143
73
73
197
242
252
222
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
195
241
252
253
252
252
252
253
252
246
215
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
108
108
108
128
252
191
108
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
