0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
141
255
226
114
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
226
255
198
226
255
226
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
226
255
86
0
0
170
255
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
170
226
29
0
0
0
0
198
170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
141
226
57
0
0
0
0
226
170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
255
170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
255
114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
198
255
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
86
86
198
255
114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
255
255
255
255
255
226
141
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
170
255
255
255
170
86
141
255
226
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
170
170
57
0
0
0
57
226
226
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
255
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
226
170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
255
170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
198
255
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
57
0
0
0
0
0
0
198
255
170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
170
255
170
29
0
0
57
226
255
170
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
141
255
255
255
226
255
255
141
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
198
255
226
114
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
