0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
202
253
137
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
116
253
252
208
17
0
0
0
0
0
0
0
0
0
0
0
0
26
122
123
57
0
0
0
0
0
0
0
116
253
252
183
0
0
0
0
0
0
0
0
0
0
0
0
0
134
252
253
244
99
0
0
0
0
0
0
210
253
252
89
0
0
0
0
0
0
0
0
0
0
0
0
0
207
252
253
252
183
0
0
0
0
0
136
250
253
252
69
0
0
0
0
0
0
0
0
0
0
0
0
38
233
253
255
218
84
0
0
0
0
7
212
253
255
207
0
0
0
0
0
0
0
0
0
0
0
0
0
142
252
252
253
92
0
0
0
0
0
70
252
252
253
132
0
0
0
0
0
0
0
0
0
0
0
0
0
184
252
252
253
92
0
0
0
0
13
172
252
252
247
67
0
0
0
0
0
0
0
0
0
0
0
0
0
184
252
252
245
58
0
0
0
0
26
221
252
252
230
0
0
0
0
0
0
0
0
0
0
0
0
0
43
246
252
252
230
0
0
0
0
0
47
252
252
252
230
0
0
0
0
0
0
0
0
0
0
0
0
0
47
253
253
253
255
107
24
24
24
139
212
253
253
253
168
0
0
0
0
0
0
0
0
0
0
0
0
0
38
240
252
252
253
252
252
252
252
253
252
252
252
252
116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
153
252
252
253
252
252
252
252
253
252
252
252
252
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
88
160
253
252
227
160
56
98
177
252
252
210
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
22
16
0
0
0
161
252
252
137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
253
253
253
137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
138
252
252
252
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
222
252
252
252
22
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
252
252
22
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
252
168
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
