0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
141
228
53
16
204
253
216
141
29
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
252
252
165
253
252
252
252
253
196
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
117
252
252
252
106
56
56
56
119
224
209
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
191
252
77
28
0
0
0
0
0
19
203
190
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
255
247
50
0
0
0
0
0
0
0
126
250
126
0
0
0
0
0
0
0
0
0
0
0
0
0
19
194
253
121
0
0
0
0
0
0
0
0
0
200
225
0
0
0
0
0
0
0
0
0
0
0
0
0
123
252
253
84
0
0
0
0
0
0
0
0
0
113
247
66
0
0
0
0
0
0
0
0
0
0
0
0
197
252
228
9
0
0
0
0
0
0
0
0
0
113
253
84
0
0
0
0
0
0
0
0
0
0
0
0
198
253
163
0
0
0
0
0
0
0
0
0
0
114
254
203
7
0
0
0
0
0
0
0
0
0
0
0
197
252
113
0
0
0
0
0
0
0
0
0
0
113
253
252
56
0
0
0
0
0
0
0
0
0
0
45
240
252
25
0
0
0
0
0
0
0
0
0
0
113
253
252
56
0
0
0
0
0
0
0
0
0
0
57
252
252
0
0
0
0
0
0
0
0
0
0
0
113
253
252
56
0
0
0
0
0
0
0
0
0
0
51
247
140
0
0
0
0
0
0
0
0
0
0
0
126
254
247
50
0
0
0
0
0
0
0
0
0
0
0
197
139
0
0
0
0
0
0
0
0
0
0
82
243
253
171
0
0
0
0
0
0
0
0
0
0
0
0
197
228
38
0
0
0
0
0
0
0
0
19
215
252
244
56
0
0
0
0
0
0
0
0
0
0
0
0
97
252
163
0
0
0
0
0
0
0
13
194
252
252
225
0
0
0
0
0
0
0
0
0
0
0
0
0
0
163
242
66
7
0
0
0
10
79
204
253
253
190
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
228
252
100
57
70
169
197
252
253
252
208
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
224
252
252
253
252
252
252
253
196
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
65
190
253
252
252
151
78
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
