0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
86
163
228
228
163
163
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
171
252
253
253
253
254
253
253
251
203
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
243
254
253
253
253
253
243
216
222
253
253
205
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
203
253
254
242
125
137
54
39
0
8
171
253
254
24
0
0
0
0
0
0
0
0
0
0
0
0
0
166
253
253
195
37
0
0
0
0
0
0
141
253
254
140
0
0
0
0
0
0
0
0
0
0
0
0
0
218
254
254
66
0
0
0
0
0
0
37
254
254
255
215
11
0
0
0
0
0
0
0
0
0
0
0
0
114
253
168
0
0
0
0
0
0
12
116
253
253
254
253
36
0
0
0
0
0
0
0
0
0
0
0
0
19
226
207
0
0
0
0
0
0
113
253
253
253
254
253
36
0
0
0
0
0
0
0
0
0
0
0
0
0
152
248
116
2
0
0
0
64
249
253
253
246
254
253
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
117
254
134
13
0
33
228
253
253
240
112
254
253
127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
249
254
254
254
255
254
254
151
92
255
254
127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
226
253
253
254
253
180
4
59
254
253
127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
75
127
127
75
5
0
91
254
253
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
254
253
107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
232
254
253
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
254
255
254
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
109
253
254
202
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
122
233
253
254
198
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
253
253
254
159
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
118
253
254
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
