0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
121
121
220
254
254
247
121
122
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
221
253
253
253
253
253
253
253
254
248
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
251
253
253
253
253
253
253
253
254
253
244
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
253
253
253
253
253
253
253
253
254
253
253
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
233
232
186
158
53
53
130
186
254
253
253
137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
45
0
0
0
0
3
125
254
253
253
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
253
254
253
238
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
214
253
254
253
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
110
253
253
254
191
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
253
253
253
254
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
213
254
254
254
134
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
209
253
253
253
196
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
207
253
253
253
191
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
253
253
253
245
73
0
0
0
0
26
81
109
123
30
0
0
0
0
0
0
0
0
0
0
0
0
111
217
253
253
243
96
0
0
0
64
117
217
253
253
253
199
0
0
0
0
0
0
0
0
0
0
0
0
228
253
253
253
243
187
187
187
188
250
253
253
253
253
195
59
0
0
0
0
0
0
0
0
0
0
0
0
228
253
253
253
253
253
253
253
255
253
253
240
213
114
25
0
0
0
0
0
0
0
0
0
0
0
0
0
228
253
253
253
253
253
253
253
255
253
179
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
228
253
253
253
253
253
253
253
241
113
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
157
253
253
253
253
253
175
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
