0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
144
253
253
255
128
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
226
249
252
252
252
253
252
246
122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
253
252
252
252
252
253
252
252
246
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
253
252
245
223
223
162
84
215
252
252
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
112
87
0
0
0
0
119
252
252
203
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
253
255
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
152
253
152
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
253
186
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
253
252
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
140
253
252
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
253
255
253
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
243
252
253
223
37
0
0
0
0
0
0
0
0
0
0
0
0
13
73
197
198
150
57
57
57
0
19
178
252
252
253
167
0
0
0
0
0
0
0
0
0
0
0
0
0
51
242
252
253
252
252
252
252
169
196
252
252
252
253
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
169
252
253
252
252
252
252
253
252
252
252
252
112
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
253
255
253
253
253
253
255
253
253
253
253
114
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
214
253
252
252
252
252
253
252
252
252
252
253
228
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
253
252
252
252
252
253
252
252
252
252
253
252
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
209
230
249
223
84
84
115
242
252
253
102
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
99
0
0
0
0
75
112
174
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
