0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
34
34
120
220
129
34
52
21
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
122
193
252
252
252
252
219
220
142
222
243
176
176
92
0
0
0
0
0
0
0
0
0
0
0
0
29
192
251
252
252
252
252
252
252
205
233
252
252
231
231
131
92
0
0
0
0
0
0
0
0
0
0
0
0
200
241
206
121
116
30
121
121
121
121
168
123
112
198
194
204
242
31
0
0
0
0
0
0
0
0
0
0
35
42
0
0
0
0
0
0
0
0
0
23
233
185
252
252
252
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
147
252
252
252
252
252
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
7
60
60
21
74
213
247
252
244
246
241
127
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
231
209
252
252
210
252
252
142
223
45
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
160
222
252
252
253
252
222
42
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
176
252
253
223
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
255
100
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
253
252
153
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
147
253
252
153
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
86
249
244
252
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
218
226
241
215
209
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
127
224
252
219
238
253
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
244
251
252
252
99
233
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
74
27
43
90
137
216
225
127
13
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143
252
150
250
252
252
134
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
66
33
244
252
214
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
