0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
238
253
253
253
255
253
143
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
238
252
252
252
252
253
252
252
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
222
252
252
252
252
253
252
252
199
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
249
252
252
252
253
252
252
249
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
225
252
252
252
253
252
252
145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
176
253
253
253
253
255
253
228
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
252
252
252
252
253
252
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
246
252
252
252
253
252
209
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
209
252
252
252
253
252
252
242
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
221
252
252
253
252
252
252
252
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
255
253
253
253
253
192
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
181
252
252
252
253
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
252
252
252
253
167
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
252
252
252
253
167
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
141
240
252
252
252
253
167
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
113
114
50
113
113
113
255
253
253
253
253
204
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
154
252
253
237
252
252
252
253
252
252
252
252
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
169
252
253
252
252
252
252
253
252
252
198
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150
239
253
252
252
252
252
237
242
192
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
174
252
252
157
112
50
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
