0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
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
0
23
200
239
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
173
252
225
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
116
242
239
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
252
252
176
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
187
252
184
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
230
252
241
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
192
252
252
101
0
0
0
0
0
0
0
0
0
8
27
27
24
0
0
0
0
0
0
0
0
0
0
121
252
252
205
22
0
0
0
0
0
0
0
0
54
174
252
252
241
69
0
0
0
0
0
0
0
0
0
190
252
252
102
0
0
0
0
0
0
0
57
133
234
252
252
252
252
246
63
0
0
0
0
0
0
0
0
255
253
253
39
0
0
0
0
0
0
184
253
253
253
253
253
253
253
253
120
0
0
0
0
0
0
0
0
253
252
212
23
0
0
0
0
63
177
253
252
252
218
111
13
13
109
252
175
0
0
0
0
0
0
0
0
253
252
193
15
0
0
0
10
185
252
253
163
39
18
0
0
0
146
252
252
0
0
0
0
0
0
0
0
211
252
252
82
0
0
13
168
252
252
39
2
0
0
22
81
171
238
252
139
0
0
0
0
0
0
0
0
121
252
252
193
67
18
41
252
252
217
0
0
0
64
214
252
252
252
248
88
0
0
0
0
0
0
0
0
32
243
252
252
252
203
197
252
252
217
187
186
186
207
252
252
252
204
62
0
0
0
0
0
0
0
0
0
0
131
248
252
252
252
252
252
252
252
253
252
252
252
241
212
121
29
0
0
0
0
0
0
0
0
0
0
0
0
132
248
252
252
252
252
252
252
253
252
242
183
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
140
238
241
252
252
252
247
182
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
119
119
119
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
