0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
170
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
178
252
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
252
252
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
233
252
227
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
253
252
130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
233
255
228
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
252
253
185
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
253
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
207
252
245
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
248
252
230
0
0
0
0
0
74
116
116
116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
253
253
116
0
0
9
76
149
253
253
253
253
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
252
252
116
0
34
174
252
253
252
252
252
252
193
17
0
0
0
0
0
0
0
0
0
0
0
0
0
19
219
252
146
66
234
252
252
253
240
183
240
252
253
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
207
252
249
236
252
252
210
46
37
0
80
202
253
202
25
0
0
0
0
0
0
0
0
0
0
0
0
0
103
252
253
252
252
116
12
0
0
0
0
220
253
252
69
0
0
0
0
0
0
0
0
0
0
0
0
0
43
241
255
253
222
25
0
0
0
7
108
253
255
196
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
209
253
252
252
135
47
47
120
186
252
252
253
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
169
252
252
252
252
253
252
252
252
252
122
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
219
252
252
252
253
252
252
218
160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
137
137
189
253
178
54
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
