0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
92
92
92
198
193
202
92
92
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
182
238
254
254
254
254
254
254
254
254
247
182
152
0
0
0
0
0
0
0
0
0
0
0
0
0
0
182
254
254
254
254
254
254
254
254
254
254
254
254
231
52
0
0
0
0
0
0
0
0
0
0
0
0
0
182
254
254
238
83
57
57
57
57
62
221
246
254
254
123
0
0
0
0
0
0
0
0
0
0
0
0
0
102
254
238
68
0
0
0
0
0
5
125
221
254
254
123
0
0
0
0
0
0
0
0
0
0
0
0
0
3
40
35
0
0
0
0
0
49
163
254
254
254
246
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
140
252
254
254
254
254
123
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
67
67
99
231
252
254
254
254
254
248
114
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
254
254
254
254
254
254
254
254
254
230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
251
254
254
254
254
254
254
254
254
254
254
248
221
40
0
0
0
0
0
0
0
0
0
0
0
0
0
17
246
252
246
246
246
246
246
246
246
254
254
254
254
212
134
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
0
0
0
0
0
0
6
155
165
254
254
254
219
100
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
139
250
254
254
254
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
131
254
254
254
180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
254
254
254
180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
254
254
254
180
0
0
0
0
0
0
0
0
0
0
0
0
46
58
58
58
58
58
58
64
223
223
223
249
254
255
254
142
0
0
0
0
0
0
0
0
0
0
0
0
198
254
254
254
254
254
254
254
254
254
254
254
254
254
167
7
0
0
0
0
0
0
0
0
0
0
0
0
198
254
254
254
254
254
254
254
254
254
254
242
180
142
7
0
0
0
0
0
0
0
0
0
0
0
0
0
92
254
147
254
105
90
90
202
254
131
90
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
