0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
134
14
0
0
0
0
0
0
0
37
158
203
121
0
0
0
0
0
0
0
0
0
0
0
0
25
119
180
125
29
0
0
0
0
0
0
10
196
197
32
0
0
0
0
0
0
0
0
0
0
0
0
32
203
208
39
0
0
0
0
0
0
0
10
176
193
37
0
0
0
0
0
0
0
0
0
0
0
0
13
197
229
31
0
0
0
0
0
0
0
7
178
236
44
0
0
0
0
0
0
0
0
0
0
0
0
8
194
232
36
0
0
0
0
0
0
0
7
183
233
48
0
0
0
0
0
0
0
0
0
0
0
0
0
20
248
93
0
0
0
0
0
0
0
0
151
251
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
248
131
23
0
0
0
0
0
0
69
251
150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
194
254
242
205
156
156
156
103
91
233
254
163
169
150
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
175
211
199
138
79
93
255
226
85
79
79
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
177
223
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
163
244
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
252
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
128
250
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
254
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
218
160
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
175
218
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
248
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
233
139
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
254
182
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
242
181
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
