0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
80
202
80
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
254
254
254
62
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
254
254
254
121
131
0
0
0
0
0
0
0
93
239
92
62
15
0
0
0
0
0
0
0
0
0
0
80
254
254
254
254
131
0
0
0
0
0
0
0
230
254
254
254
61
0
0
0
0
0
0
0
0
0
0
80
254
254
254
247
109
0
0
0
0
0
0
0
230
254
254
254
61
0
0
0
0
0
0
0
0
0
0
80
254
254
254
232
64
0
0
0
0
0
0
0
230
254
254
254
146
0
0
0
0
0
0
0
0
0
0
80
254
254
254
254
143
6
0
0
0
0
0
0
230
254
254
254
249
110
0
0
0
0
0
0
0
0
0
80
254
254
254
254
254
52
0
0
0
0
0
0
230
254
254
254
237
0
0
0
0
0
0
0
0
0
0
77
251
254
254
254
254
199
185
185
185
185
185
185
242
254
254
254
250
115
0
0
0
0
0
0
0
0
0
0
159
254
254
254
254
254
254
254
254
254
254
254
78
254
254
254
254
157
0
0
0
0
0
0
0
0
0
0
55
244
254
254
254
254
254
254
254
254
254
155
62
254
254
254
254
157
0
0
0
0
0
0
0
0
0
0
0
67
254
254
254
254
254
252
208
208
13
3
54
254
254
254
254
157
0
0
0
0
0
0
0
0
0
0
0
26
105
235
254
254
254
246
37
36
0
0
22
182
254
254
254
157
0
0
0
0
0
0
0
0
0
0
0
0
0
22
25
25
25
24
0
0
0
0
0
132
254
254
254
157
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132
254
254
254
208
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132
254
254
254
254
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
235
255
254
254
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
212
254
254
254
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
212
254
248
157
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
254
237
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
