0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
43
167
255
102
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
179
253
253
253
253
239
118
0
0
62
76
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
154
253
253
253
252
251
253
242
121
185
247
253
245
42
5
0
0
0
0
0
0
0
0
0
0
0
0
71
253
253
253
227
93
60
253
253
253
243
210
210
240
253
221
0
0
0
0
0
0
0
0
0
0
0
0
114
253
253
211
25
0
17
253
253
122
49
0
0
173
253
221
0
0
0
0
0
0
0
0
0
0
0
0
114
253
253
38
0
0
2
27
27
2
0
51
130
245
253
216
0
0
0
0
0
0
0
0
0
0
0
0
114
253
253
27
0
0
0
0
0
26
75
235
253
253
234
45
0
0
0
0
0
0
0
0
0
0
0
0
114
253
253
104
50
87
82
56
127
225
253
253
253
253
114
0
0
0
0
0
0
0
0
0
0
0
0
0
61
247
253
253
245
253
252
246
253
253
250
250
246
147
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
217
253
253
253
253
253
253
226
152
75
139
230
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
121
253
253
253
253
253
220
33
0
0
135
253
232
43
0
0
0
0
0
0
0
0
0
0
0
0
1
106
250
253
253
253
253
240
56
0
0
0
20
212
253
168
0
0
0
0
0
0
0
0
0
0
0
0
31
253
253
253
242
111
86
31
0
0
0
0
0
173
253
221
0
0
0
0
0
0
0
0
0
0
0
0
114
253
253
203
39
0
0
0
0
0
0
0
0
173
253
221
0
0
0
0
0
0
0
0
0
0
0
0
218
253
253
31
0
0
0
0
0
0
0
0
38
250
253
221
0
0
0
0
0
0
0
0
0
0
0
0
222
253
198
9
0
0
0
0
0
0
44
112
212
253
253
221
0
0
0
0
0
0
0
0
0
0
0
0
222
253
205
11
0
0
0
0
82
158
239
253
253
253
253
177
0
0
0
0
0
0
0
0
0
0
0
0
162
253
253
250
203
249
249
249
253
253
253
253
253
231
87
2
0
0
0
0
0
0
0
0
0
0
0
0
36
225
253
253
253
253
253
253
253
247
183
183
126
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
145
242
253
253
253
230
145
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
