0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
104
178
253
255
178
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
252
252
151
178
252
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
253
252
99
6
53
252
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
113
253
227
31
0
29
252
205
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
229
239
38
0
13
204
253
244
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
252
150
0
0
113
253
252
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
172
252
76
0
67
210
253
252
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
246
252
13
113
222
252
253
252
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
253
253
254
253
253
253
254
184
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
240
252
253
252
252
252
247
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
168
253
252
252
252
187
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
253
252
252
252
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
126
254
253
253
128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
243
253
252
196
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
172
252
253
252
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
222
252
253
151
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
253
253
214
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
225
252
227
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
252
252
103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
252
127
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
