0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
108
138
138
202
232
138
138
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
110
219
252
252
252
253
231
252
252
252
100
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
199
253
252
202
183
130
69
37
100
89
205
253
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
170
248
245
139
13
0
0
0
0
0
0
74
253
185
0
0
0
0
0
0
0
0
0
0
0
0
0
64
248
252
126
0
0
0
0
0
0
0
0
106
253
153
0
0
0
0
0
0
0
0
0
0
0
0
0
38
233
253
116
0
0
0
0
0
0
0
0
179
255
92
0
0
0
0
0
0
0
0
0
0
0
0
0
57
244
252
116
0
0
0
0
0
0
0
17
234
249
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
176
252
153
25
0
0
0
0
0
0
124
252
230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
244
253
202
25
0
0
0
0
100
244
252
230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
178
253
252
236
188
168
231
230
246
252
252
178
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
136
247
253
243
231
230
230
249
253
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
92
50
0
0
0
207
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
0
0
124
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
0
0
134
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
0
32
228
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
0
70
253
243
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
122
252
137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
252
137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
236
232
136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
155
252
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
