0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
255
235
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
198
253
228
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
244
253
248
167
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
242
253
252
165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
242
253
253
110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
193
253
253
54
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
149
253
253
251
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
210
253
253
153
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
18
253
253
242
39
0
0
0
0
0
0
0
0
27
160
203
160
108
0
0
0
0
0
0
0
0
0
0
18
253
253
182
0
0
0
0
0
0
0
0
107
216
253
253
253
228
130
4
0
0
0
0
0
0
0
0
18
253
253
237
36
0
0
0
0
0
0
29
238
253
253
253
253
253
253
17
0
0
0
0
0
0
0
0
3
170
253
253
146
0
0
0
0
0
29
209
253
253
242
82
194
253
169
3
0
0
0
0
0
0
0
0
0
102
253
253
204
13
0
0
0
0
129
253
253
190
20
22
214
253
101
0
0
0
0
0
0
0
0
0
0
1
167
253
253
35
0
0
2
178
252
253
190
5
0
109
253
249
33
0
0
0
0
0
0
0
0
0
0
0
23
216
253
209
21
14
165
253
253
242
20
2
44
217
253
170
0
0
0
0
0
0
0
0
0
0
0
0
0
113
253
253
210
119
253
253
253
176
48
167
253
253
241
138
0
0
0
0
0
0
0
0
0
0
0
0
0
72
253
253
253
253
253
253
253
253
253
253
253
253
158
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
94
244
253
253
253
253
253
253
253
253
244
148
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
152
209
253
253
253
253
209
93
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
190
218
181
17
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
