0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
121
247
253
253
116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
184
246
253
252
252
252
220
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
180
252
252
253
212
158
89
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
178
252
252
252
110
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
159
252
252
213
115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
235
252
252
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
200
252
245
198
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
205
252
212
0
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
205
0
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
79
0
0
0
134
133
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
253
253
80
77
197
253
255
253
253
211
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
252
224
131
247
252
252
253
252
252
252
249
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
252
252
252
252
252
252
253
107
110
252
252
233
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
193
252
252
176
131
252
252
110
2
135
252
252
252
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
178
252
252
79
6
53
53
0
29
233
252
252
209
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
252
252
79
0
0
0
26
208
252
252
238
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
252
252
100
0
3
41
211
252
252
218
121
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
198
245
237
160
165
252
253
252
178
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
241
252
252
252
240
182
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
119
189
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
